小编cYr*_*rus的帖子

Node.js使用自定义eval函数REPL搞笑行为

看来,Node.js的(版v0.10.13)返回包间的命令(\n),这里有一个小例子:

require('repl').start({
    'eval': function (cmd, context, filename, callback) {
        callback(null, cmd);
    }
});
Run Code Online (Sandbox Code Playgroud)

行为如下:

$ node repl.js
> asd
'(asd\n)'
>
Run Code Online (Sandbox Code Playgroud)

这是为什么?如果这个功能记录当时我没能找到它.

此外,如果这是预期的行为,有没有比做更好的解决方案cmd = cmd.slice(1, -2);

javascript node.js read-eval-print-loop

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

使用 Chrome DevTools 检查远程目标时如何设置设备类型(非移动设备)?

因此,在检查远程实例时,任何常规DevTools 实例中通常存在的设​​备工具栏似乎都丢失了。

设备工具栏

在这种情况下,设备类型设置为“移动”,鼠标指针设置为圆圈,以表明这一点。

重现此内容的方法如下:

  1. 启动一个新的无头实例,例如:

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --headless https://example.com
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用另一个 Chrome 实例导航到chrome://inspect并检查远程选项卡。

  3. 如您所见,没有设备工具栏。

开发工具

我还尝试发送一些Chrome DevTools 协议命令,例如:

但无济于事,发生了一些事情,但行为看起来被破坏了......我怀疑这是与 DevTools 前端有关的事情,而不是与检查的 Chrome 实例有关。

您知道我该如何解决这个问题吗?我的最终目标是使用桌面设备类型手动与远程无头实例交互。

google-chrome google-chrome-devtools chrome-remote-debugging

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

是否可以向另一个 Makefile 添加依赖项?

我不是在问是否可以从另一个 Makefile 调用 Makefile

假设我有一个生成可执行文件的规则,如下所示:

my-prog: some.o local.o dependencies.o
Run Code Online (Sandbox Code Playgroud)

请注意,我这里利用了内置规则

现在假设我开始使用第三方库。我想保留这个内置语法,只是将外部规则添加到依赖项列表中:

my-prog: some.o local.o dependencies.o somelib/libsomelib.a
Run Code Online (Sandbox Code Playgroud)

但这行不通:

No rule to make target 'somelib/libsomelib.a', needed by 'my-prog'.
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过显式调用另一个 Makefile 来解决这个问题:

my-prog: some.o local.o dependencies.o
    $(MAKE) -C somelib/ libsomelib.a
    $(CC) $(LDFLAGS) -o $@ $^ somelib/libsomelib.a
Run Code Online (Sandbox Code Playgroud)

但这就是我试图避免的。有任何想法吗?

makefile

5
推荐指数
1
解决办法
3226
查看次数

返回包含引用的结果时,不能一次多次借用 `*self` 作为可变变量

为什么以下无效,我应该怎么做才能使其工作?

struct Foo;

impl Foo {
    fn mutable1(&mut self) -> Result<(), &str> {
        Ok(())
    }

    fn mutable2(&mut self) -> Result<(), &str> {
        self.mutable1()?;
        self.mutable1()?;
        Ok(())
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码产生:

error[E0499]: cannot borrow `*self` as mutable more than once at a time
  --> src/lib.rs:10:9
   |
8  |     fn mutable2(&mut self) -> Result<(), &str> {
   |                 - let's call the lifetime of this reference `'1`
9  |         self.mutable1()?;
   |         ----           - returning this value requires that `*self` is borrowed for `'1`
   |         | …
Run Code Online (Sandbox Code Playgroud)

rust borrow-checker

5
推荐指数
1
解决办法
2183
查看次数

为什么等待一个空的 JavaScript Promise 不能让运行时保持活动状态?

我期望下面的代码片段永远挂起,因为承诺永远不会被履行或拒绝,相反,JavaScript 运行时会被简单地终止,并且后面的代码永远await不会被执行。

(async function () {
    console.log('so far so good');
    await new Promise(() => {});
    console.log('never printed');
})();
Run Code Online (Sandbox Code Playgroud)

更糟糕的是,上述情况也会动态发生,即在某个事件发生后 Promise 变得无法履行/拒绝,例如以下仅使运行时保持活动状态一秒钟:

(async function () {
    console.log('so far so good');
    await new Promise((fulfill, reject) => {
        const timeout = setTimeout(fulfill, 2000);
        setTimeout(() => {
            clearTimeout(timeout);
        }, 1000);
    });
    console.log('never printed');
})();
Run Code Online (Sandbox Code Playgroud)

至少可以说这是违反直觉的,这背后的理由是什么?更重要的是,您能否将我链接到处理此行为的文档/规范?

javascript es6-promise

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

当使用多个连接组件时,D3强制v3和v4之间的布局差异

MWEs

我尝试用两个版本创建相同的图形,这里是Bl.ocks:

这些示例改编自一个官方示例.

问题

当存在多个连接组件时会出现差异.在版本4中,有两件事对我来说不起作用:

  1. 拖动一个连接的组件使其他组件以非物理方式非常非常地转换(我猜)力中心;

  2. 在鼠标按下时(即使没有实际移动),其他连接的组件无限移动,最终离开屏幕.

简而言之,版本3中的图形是牢不可破的,无论您将节点弄得多少,它们最终都会返回到稳定的位置.

如何修复这两种行为,使模拟更接近版本3?

d3.js force-layout d3v4

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