我有一些像
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 {}.
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吗?
#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,double是8字节.所以我认为sizeof(c)应该是1024*8字节,但控制台输出是1024.
所以我很困惑.谁能告诉我原因?
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)
这是我的代码.我创建了一个getter和setter为_name成员.我没有创建一个getter和setterfor age.
但两者都可以像这样更新这两个字段 man.name = 'B';man.age = 20;
所以,我很困惑,是getter和setter必要在JavaScript?
我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.isfile或os.path.isdir返回False,所以我认为这些函数不能用于remotePath.
我写这段代码:
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__.
我正在读这里的代码: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) 这是我的代码:
'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箭头功能?谁能给我一个明确的解释?
#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],但我没有给它任何值,只是一个{}.
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.这是正确的吗?