小编Bla*_*mba的帖子

关于linux命令"xargs"的用法

我有一些像

love.txt  
loveyou.txt 
Run Code Online (Sandbox Code Playgroud)

在目录中useful; 我想将此文件复制到目录/tmp.

我用这个命令:

find ./useful/ -name "love*" | xargs cp /tmp/
Run Code Online (Sandbox Code Playgroud)

但是不起作用,只是说:

cp: target `./useful/loveyou.txt' is not a directory
Run Code Online (Sandbox Code Playgroud)

当我使用此命令时:

 find ./useful/ -name "love*" | xargs -i cp {} /tmp/
Run Code Online (Sandbox Code Playgroud)

它工作正常,

我想知道为什么第二个工作,更多关于使用-i cp {}.

linux shell

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

我应该在Promise中使用`return`吗?

function saveToTheDb(value) {  
  return new Promise(function(resolve, reject) {
    db.values.insert(value, function(err, user) { // remember error first ;)
      if (err) {
        return reject(err); // don't forget to return here
      }
      resolve(user);
    })
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我从这里看到的代码.我对return关键字感到困惑.

因为resolve(user);,我需要return吗?

因为reject(user);,我需要return吗?

node.js promise

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

alignas会影响sizeof的值吗?

#include <iostream>
using namespace std;

int main()
{
    alignas(double) unsigned char c[1024];   // array of characters, suitably aligned for doubles
    alignas(16) char d[100];            // align on 16 byte boundary
    cout<<sizeof(c)<<endl;
    cout<<sizeof(d)<<endl;
    constexpr int n = alignof(int);     // ints are aligned on n byte boundarie
    cout<<n<<endl;
}
Run Code Online (Sandbox Code Playgroud)

这是代码,因为alignas(double) unsigned char c[1024];它意味着c应该对齐double,double8字节.所以我认为sizeof(c)应该是1024*8字节,但控制台输出是1024.

所以我很困惑.谁能告诉我原因?

c++ c++11

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

JavaScript中需要`getter`和`setter`吗?

class Employee {

    constructor(name, age) {
        this._name = name;
        this.age = age;
    }

    doWork() {
        return `${this._name} is working`;
    }

    get name() {
        return this._name.toUpperCase();
    }

    set name(newName){
        if(newName){ 
            this._name = newName;
        }
    }
}

let man = new Employee('A', 10);
console.log(man.name, man.age);
man.name = 'B';
man.age = 20;
console.log(man.name, man.age);
Run Code Online (Sandbox Code Playgroud)

这是我的代码.我创建了一个gettersetter_name成员.我没有创建一个gettersetterfor age.

但两者都可以像这样更新这两个字段 man.name = 'B';man.age = 20;

所以,我很困惑,是gettersetter必要在JavaScript?

javascript

13
推荐指数
3
解决办法
5477
查看次数

如何检查远程路径是文件还是目录?

SFTPClient用来从远程服务器下载文件.但我不知道远程路径是文件还是直接路径.如果远程路径是一个目录,我需要递归处理这个目录.

这是我的代码:

def downLoadFile(sftp, remotePath, localPath):
for file in sftp.listdir(remotePath):  
    if os.path.isfile(os.path.join(remotePath, file)): # file, just get
        try:
            sftp.get(file, os.path.join(localPath, file))
        except:
            pass
    elif os.path.isdir(os.path.join(remotePath, file)): # dir, need to handle recursive
        os.mkdir(os.path.join(localPath, file))
        downLoadFile(sftp, os.path.join(remotePath, file), os.path.join(localPath, file))

if __name__ == '__main__':
    paramiko.util.log_to_file('demo_sftp.log')
    t = paramiko.Transport((hostname, port))
    t.connect(username=username, password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
Run Code Online (Sandbox Code Playgroud)

我发现问题:函数os.path.isfileos.path.isdir返回False,所以我认为这些函数不能用于remotePath.

python paramiko

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

__str__和__repr__之间的区别?

我写这段代码:

class Item:
    def __init__(self, name):
        self._name = name;
    def __str__(self):
        return "Item: %s" % self._name
Run Code Online (Sandbox Code Playgroud)

我跑的时候

print((Item("Car"),))
Run Code Online (Sandbox Code Playgroud)

输出是

(<__main__.Item object at 0x0000000002D32400>,)
Run Code Online (Sandbox Code Playgroud)

当我将代码更改为:

class Item:
    def __init__(self, name):
        self._name = name;
    def __repr__(self):
        return "Item: %s" % self._name
    def __str__(self):
        return "Item: %s" % self._name
Run Code Online (Sandbox Code Playgroud)

然后输出

(Item: Car,)
Run Code Online (Sandbox Code Playgroud)

所以,现在我感到困惑的区别__repr____str__.

python

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

对于数组,元素编号的混淆是-1

我正在读这里的代码:https: //github.com/chenshuo/muduo/blob/master/muduo/base/Date.cc

但我对这两行感到困惑:

char require_32_bit_integer_at_least[sizeof(int) >= sizeof(int32_t) ? 1 : -1];
Run Code Online (Sandbox Code Playgroud)

(void) require_32_bit_integer_at_least; // no warning please
Run Code Online (Sandbox Code Playgroud)

他们的目的是什么?

char require_32_bit_integer_at_least[sizeof(int) >= sizeof(int32_t) ? 1 : -1];

int getJulianDayNumber(int year, int month, int day)
{
  (void) require_32_bit_integer_at_least; // no warning please
  int a = (14 - month) / 12;
  int y = year + 4800 - a;
  int m = month + 12 * a - 3;
  return day + (153*m + 2) / 5 + y*365 + …
Run Code Online (Sandbox Code Playgroud)

c++

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

为什么`this`在ES6的箭头功能中不起作用?

这是我的代码:

'use strict';

let obj = {
  username : 'Hans Gruber',
  hello: () => 'hello, ' + this.username
};
console.log(obj.hello());
Run Code Online (Sandbox Code Playgroud)

但输出是:hello, undefined.

我希望输出是:hello, Hans Gruber.

我想我还没有理解this箭头功能?谁能给我一个明确的解释?

javascript ecmascript-6

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

数组在C++中初始化

#include <iostream>
using namespace std;

int main() {
    int arr[10] = {};
    for(auto element : arr)
    {
        cout<<element<<" ";
    }
    cout<<endl;
}
Run Code Online (Sandbox Code Playgroud)

如果我写int arr[10] = {},arr所有元素都是0.但如果我只是wrtie int arr[10],那里的元素arr是随机的.所以我很困惑int arr[10] = {},我只是声明一个数组int arr[10],但我没有给它任何值,只是一个{}.

c++ c++11

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

当auto遇到多态和虚函数时,什么是正确的行为?

class B {
    public:
    virtual void f(){
        printf("B\n");
    }
};
class D : public B { 
    public:
    void f() {
        printf("D\n");
    }
};

int main(void)  
{  
    B* d = new D();
    d->f();
    auto b = *d; 
    b.f();
}
Run Code Online (Sandbox Code Playgroud)

因为d->f();,输出是D.这是正确的.但是b.f();,输出是B.这是正确的吗?

c++ auto c++11

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

标签 统计

c++ ×4

c++11 ×3

javascript ×2

python ×2

auto ×1

ecmascript-6 ×1

linux ×1

node.js ×1

paramiko ×1

promise ×1

shell ×1