小编Kil*_*roy的帖子

如何让console.log输出getter结果而不是字符串"[Getter/Setter]"?

在这段代码中:

function Cls() {
    this._id = 0;
    Object.defineProperty(this, 'id', {
        get: function() {
            return this._id;
        },
        set: function(id) {
            this._id = id;
        },
        enumerable: true
    });
};
var obj = new Cls();
obj.id = 123;
console.log(obj);
console.log(obj.id);
Run Code Online (Sandbox Code Playgroud)

我想得到{_id:123,id:123}但是得到{_id:123,id:[Getter/Setter]}

有没有办法让console.log函数使用getter值?

javascript console properties getter-setter node.js

14
推荐指数
4
解决办法
4527
查看次数

游戏求解算法(Buttonia,Lights-out变体)

我正在尝试为游戏算法创建一个可解决性函数.基本上是一个函数,如果可以解决,它会为给定的游戏返回true或false.

该游戏是Buttonia.com(尚未实现该算法),这是一种熄灯游戏.基本上你有一个按钮网格,按下时,每个按钮都会改变它的某些邻居的状态.目前我生成随机游戏配置,然后尽可能应用启发式.其余的是由强力搜索决定的.

到目前为止,我的进步是建立一个方程系统来模拟游戏.由于每个按钮需要改变状态奇数次才能以向下状态结束,因此它的等式是这样的:

button_A = 1 - (button_1 + button_2 + ... + button_X)%2

其中button_1到button_X是按钮状态,对button_A有效.如果某些按钮不依赖于其他按钮,则可以立即解决这些按钮.其余的,我尝试一个配置,直到我遇到冲突,然后回溯.

目前,该算法适用于较小的游戏配置.我已经从3x3游戏测试了它,尺寸为10x10.其中6x6接近实际游戏的上限.

这些方程式大大减少了蛮力的搜索空间,使其变得实用.可能存在解决方程组的纯粹数学方法.


ascii中的3x3游戏示例(来自buttonia.com/?game=2964):

||#
-o-
+#|

Legend:
o = affect only self
- = affect left and right neighbors
| = affect above and below neighbors
+ = affect left, right, above and below neighbors
# = affect all 8 surrounding neighbors
Run Code Online (Sandbox Code Playgroud)

解决方案,按下这些:(0,0),(2,0),(1,2),(0,1),(1,1),(2,1)

这个游戏的等式:

Button_0_0 = 1 - (0) % 2
Button_1_0 = 1 - (Button_2_0) % 2
Button_2_0 = 1 - (0) …
Run Code Online (Sandbox Code Playgroud)

algorithm math xor solver

6
推荐指数
1
解决办法
2913
查看次数

Express.Js可以输出缩小的JSON吗?

我目前正在从restified切换到Express,我注意到Express中res.send({})的输出具有漂亮的JSON和白色空间,而Restify输出在没有空格的情况下缩小.

由于JSON不适合人类消费,我更喜欢缩小的输出.是否有一种简单的方法可以让Express输出缩小的JSON,而无需单独更改所有res.send()调用?出于性能原因,我还希望设置更多的中间件.

json minify node.js express restify

6
推荐指数
1
解决办法
2671
查看次数

使用自定义运算符进行高斯消除

当运算符是自定义运算符而不是标准算术运算符时,实现高斯消元法的好方法是什么?

以下是运营商:

加成:

0 + 0 = 0
0 + 1 = 1
1 + 1 = 0
Run Code Online (Sandbox Code Playgroud)

减法:

0 - 0 = 0
0 - 1 = 1
1 - 1 = 0
Run Code Online (Sandbox Code Playgroud)

乘法:

0 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Run Code Online (Sandbox Code Playgroud)

师:

0 / 0 = illegal
0 / 1 = 0
1 / 1 = 1
Run Code Online (Sandbox Code Playgroud)

以下是作为增广矩阵的一组示例方程,其中RHS位于最右侧列:

1, 1, 0, 1, 0, 0, 0, 0, 0, 1
0, 1, 0, …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm math

3
推荐指数
1
解决办法
1809
查看次数

Mercurial Editor:"abort:系统找不到指定的文件"

我有一个问题让Mercurial认出我的编辑器.我有一个文件,c:\windows\notepad.exe并在命令提示符下键入"notepad"工作.我可以通过使用" -m"参数来提交提交标题.但是一个简单的" hg commit"会带来错误.

致电" hg --traceback commit"会出现:

Traceback (most recent call last):
  File "mercurial\dispatch.pyc", line 47, in _runcatch
  File "mercurial\dispatch.pyc", line 466, in _dispatch
  File "mercurial\dispatch.pyc", line 336, in runcommand
  File "mercurial\dispatch.pyc", line 517, in _runcommand
  File "mercurial\dispatch.pyc", line 471, in checkargs
  File "mercurial\dispatch.pyc", line 465, in <lambda>
  File "mercurial\util.pyc", line 401, in check
  File "mercurial\commands.pyc", line 708, in commit
  File "mercurial\cmdutil.pyc", line 1150, in commit
  File "mercurial\commands.pyc", line 706, in commitfunc
  File "mercurial\localrepo.pyc", …
Run Code Online (Sandbox Code Playgroud)

configuration mercurial editor notepad++

3
推荐指数
1
解决办法
3610
查看次数

反转二进制网络

如何反转二进制方程,以便我可以找到哪些输入将产生给定的输出.

例:

Inputs: i0 through i8
Outputs: o0 through o8
Operators: ^ = XOR, & = AND
Run Code Online (Sandbox Code Playgroud)

二元方程:

(1&i0) ^ (1&i1) ^ (0&i2) ^ (1&i3) ^ (0&i4) ^ (0&i5) ^ (0&i6) ^ (0&i7) ^ (0&i8) = o0
(0&i0) ^ (1&i1) ^ (0&i2) ^ (1&i3) ^ (1&i4) ^ (0&i5) ^ (0&i6) ^ (0&i7) ^ (0&i8) = o1
(0&i0) ^ (1&i1) ^ (1&i2) ^ (0&i3) ^ (0&i4) ^ (1&i5) ^ (0&i6) ^ (0&i7) ^ (0&i8) = o2
(1&i0) ^ (0&i1) ^ (0&i2) …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm math binary

2
推荐指数
1
解决办法
348
查看次数

为什么<< 32在javascript中不会导致0?

这是假的:

(0xffffffff << 31 << 1) === (0xffffffff << 32)
Run Code Online (Sandbox Code Playgroud)

看起来应该是真的.添加>>> 0任何地方都不会改变这一点

为什么这样,我怎样才能正确编写处理的代码<< 32

javascript unsigned bit-manipulation integer-overflow bit-shift

2
推荐指数
1
解决办法
156
查看次数