我想添加一个命令行标志。这是一个标志,所以它不需要参数,它要么存在要么不存在。我还需要知道如何读取标志,TRUE 或 FALSE。
这是定义标志的代码:
.arg(
Arg::with_name("metal")
.long("metal-micky")
.required(false)
.help("I want metal micky"),
)
Run Code Online (Sandbox Code Playgroud)
我正在尝试读取这样的值:
let z = matches.value_of("metal");
Run Code Online (Sandbox Code Playgroud)
但是,None当我打印它时会导致:
println!("FLAG: {:?}", z);
Run Code Online (Sandbox Code Playgroud)
None甚至当我在命令行上指定标志时也是如此。
这就像断言甚至没有被调用.我很迷惑.
版本
:~/code/x/test$ php -v
PHP 7.0.11-1+deb.sury.org~xenial+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.11-1+deb.sury.org~xenial+1, Copyright (c) 1999-2016, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
剧本
:~/code/x/test$ cat x.php
<?php
print ("Hello\n");
assert_options(ASSERT_ACTIVE,true);
assert_options(ASSERT_BAIL,true);
assert(false);
assert(true);
print ("Bye\n");
Run Code Online (Sandbox Code Playgroud)
当我运行它
:~/code/x/test$ php x.php
Hello
Bye
Run Code Online (Sandbox Code Playgroud)
我本来希望程序以异常终止.我疯了吗?
我有一个文件 x.js ,它本身就可以正常工作。
function test() {
console.log("test");
}Run Code Online (Sandbox Code Playgroud)
我想将其包含到松露中,所以我执行以下操作
truffle(development)> exec ./x.js
Using network 'development'.
TypeError: fn is not a function
at /usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-require/require.js:128:1
Run Code Online (Sandbox Code Playgroud)
我不明白这个错误,如何修复?
我使用 UnsafeMutableRawPointer 分配内存:
let p = UnsafeMutableRawPointer.allocate(bytes: 1000, alignedTo: MemoryLayout<UInt8>.alignment)
// do stuff
p.deallocate(bytes: 1000, alignedTo: MemoryLayout<UInt8>.alignment)
Run Code Online (Sandbox Code Playgroud)
分配后,我想初始化内存,即将 0x00 写入我刚刚分配的所有 1000 字节。尽管谷歌搜索,我还是不知道该怎么做。
“do stuff”是对 C 库的调用,它将一些字节写入指针;my_c_func(p)
不幸的是,C 函数希望所有字节都为 NULL。我拥有的只是一个静态库,我无法更改 C 代码。