小编dje*_*lin的帖子

为什么 Node REPL 给出的结果与 Wat video 或我的浏览器控制台不同?

例如,在Wat和我的 Chrome 浏览器中:

{} + {}
Run Code Online (Sandbox Code Playgroud)

NaN

但在 Node REPL 中,它是

[object Object][object Object]
Run Code Online (Sandbox Code Playgroud)

诚然,后者对我来说更有意义——强制串起来然后行动是一件相当合理的事情。然而,我不明白这种差异从何而来,因此,不明白我能在多大程度上相信 REPL 能够理解一些简单的 JS 行为。

javascript node.js

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

Redis取消订阅

Redis支持PUBSUB.订阅很简单:

redis 127.0.0.1:6379> subscribe foo
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "foo"
3) (integer) 1
Run Code Online (Sandbox Code Playgroud)

但是,似乎无法取消订阅,因为在订阅时,服务器不接受命令.例如,在redis-cli随redis一起提供的客户端中,控制权不会返回给客户端,所以如果我输入unsubscribe它就不会去任何地方.

这似乎是文档,函数或PEBKAC问题中的明显错误.是什么赋予了?

版:

$ ./redis-server --version
Redis服务器v = 2.6.14 sha = 00000000:0 malloc = libc bits = 64

publish-subscribe redis

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

在tmux中取消Cb

在emacs中,Cg取消任何已经开始的命令.在按下Ctrl-b后,tmux中是否有类似的解决方案?我想通过敲击许多键来研究这个,但这只会让情况变得更糟.

tmux

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

找到1到10,000,000之间不丑的数字

当我试图找出不丑的数字时,我遇到了一些问题.丑陋的数字是唯一的素数因子是2,3或5的数字.那么这个数字不是很难看?我试着找出1到100,000,000之间不难看的数字.我的程序可以解决问题,但似乎有点慢.我怎么能让它更快?这是代码:

#include <iostream>
#include <queue>
using namespace std;
typedef pair<unsigned long,int> node_type;
main()
{
    //generates 1500 ugly numbers into result[];
    unsigned long result[1500];
    priority_queue<node_type,vector<node_type>,greater<node_type> > Q;
    Q.push(node_type(1,2));
    for(int i=0;i<1500;i++)
    {
        node_type node = Q.top();
        Q.pop();
    switch(node.second)
    {
        case 2:Q.push(make_pair(node.first*2,2));
        case 3:Q.push(make_pair(node.first*3,3));
        case 5:Q.push(make_pair(node.first*5,5)); 
    }
    result[i]=node.first;
}
/*****************************************************
//Here is the approach I used:
//The initial value of the integer k is 1;
//and will increase by 1 every time 
//k will be checked if it's a ugly number,if not increase …
Run Code Online (Sandbox Code Playgroud)

c++

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

Java流 - 同时具有anyMatch和noneMatch操作的目的?

如果找到一个元素,anyMatch操作将返回true - 如果找到匹配元素,则noneMatch操作将返回false.

如果找不到匹配元素,则anyMatch操作将返回false - 如果找不到匹配元素,则noneMatch操作将返回true.

因此,我们不是只使用这两种操作,而是不能同时使用这两种操作,或者我是否遗漏了某些内容?实质上,返回false的anyMatch是一种评估noneMatch谓词真实性的方法.

java operations matching java-stream

4
推荐指数
2
解决办法
1864
查看次数

使用Guava将两个列表压缩到Java 8中的不可变多图中?

for循环看起来像

ImmutableListMultiMap.<Key, Value>Builder builder 
    = ImmutableListMultiMap.<Key, Value>newBuilder();
for (int i = 0; i < Math.min(keys.length(), values.length()); i++) {
  builder.put(keys.at(i), values.at(i));
}
Run Code Online (Sandbox Code Playgroud)

Guava/Java 8中可能的第一步是

Streams.zip(keys, values, zippingFunction)
Run Code Online (Sandbox Code Playgroud)

我认为zippingFunction需要返回一个map条目,但是没有可公开构建的列表条目.因此,我可以编写的"最"功能方式是使用压缩函数返回一个Pair,我不确定它是否存在于Guava中,或者返回一个两元素列表,这是一个可变类型,在那里没有正确地说明正是2个元素.

如果我可以创建一个映射条目,那将是理想的:

Streams.zip(keys, values, zippingFunction)
.collect(toImmutableListMultimap(e -> e.getKey(), e.getValue())
Run Code Online (Sandbox Code Playgroud)

这似乎是最好的方式,除非它不可能,并且拉入条目并从条目解压缩仍然看起来很迂回.有没有办法使这成为可能或一种可以改进的方式?

java functional-programming multimap guava java-8

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

C运行时stackoverflow

#include <stdio.h>

int doHello(){
    doHello();
}

int main(){
    doHello();
    printf("\nLeaving Main");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当您运行此程序时,程序退出而不在屏幕上打印"Leaving Main"消息.这是Stack Overflow的情况,因为程序正在终止,但我在命令窗口中看不到任何错误消息.(跑在Windows/Cygwin /)

Q1.我没有在doHello函数中声明任何局部变量,但仍在使用堆栈.这是因为

  • 返回值
  • 关于函数调用存储的信息?

澄清

Q2.如何在程序中调试此类案例?我不是要求调试我上面提到的无限循环.

例如:

#define SIZE 512*1024
void doOVerflow(){
   char str[SIZE];
   doHello();
}

void doHello(){
   char strHello[256];  // stack gets filled up at this point
   doNothing();         // program terminates and function doNothing does not get called
}
Run Code Online (Sandbox Code Playgroud)

编辑:

Q3.运行时堆栈中存储了哪些信息?

c stack-overflow

3
推荐指数
2
解决办法
665
查看次数

使用花括号初始化C char数组,是否可以省略空字节'\ 0'?

所以我读到了:

char pattern[] = "ould";

基本上是更简单的写作方式:

char pattern[] = { 'o', 'u', 'l', 'd', '\0' };

我知道null字符\0标志着字符串的结束,但如果我写它如下:

char pattern[] = { 'o', 'u', 'l', 'd'}; (没有\ 0)

它仍然编译.

哪里pattern没有\0原因问题,因为它似乎是编译没有警告(-Wall)

c character-arrays

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

根据电话号码确定国际电话代码的算法

我可以使用iOS上的通讯簿框架从设备中检索联系人的电话号码。如何区分或识别哪个是国家代码和哪个是实际电话号码?可能吗?

parsing phone-number addressbook ios

3
推荐指数
2
解决办法
4439
查看次数

在无限循环中等待时,使程序使用更少的CPU

设置:我在c ++中有这个程序:

#include <windows.h>
using namespace std;
int main(){
    HWND window;
    AllocConsole();
    window = FindWindowA("ConsoleWindowClass", NULL);
    ShowWindow(window,0);
while (1){  
if (GetKeyState('A'))
        {
    system("start love.mp3");
    return 0;
        }
    }
return 0;
}
Run Code Online (Sandbox Code Playgroud)

因此程序作为一个进程运行,并等待按键A.然后它播放love.mp3文件:)

但是,当程序等待时,它会占用CPU使用率的25%.

Qustion:有没有办法减少这个,以便程序不消耗这么多的CPU?

c++ process cpu-usage

3
推荐指数
2
解决办法
3786
查看次数