我试图在命令提示符中执行以下行:
curl -X POST -d '{ "method" : "account_info", "params" : [ { "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"} ] }' http://s1.ripple.com:51234
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下内容:
curl: (6) Could not resolve host: method
curl: (7) Failed connect to :80; No error
curl: (6) Could not resolve host: account_info,
curl: (6) Could not resolve host: params
curl: (7) Failed connect to :80; No error
curl: (3) [globbing] illegal character in range specification at pos 2
curl: (3) [globbing] unmatched brace at pos 2
curl: (6) Could not …
Run Code Online (Sandbox Code Playgroud) 我的意思是除了在函数,类,if,while,switch,try-catch需要时使用它.
在我看到这个问题之前,我不知道可以这样做.
在上面的链接中,Eli提到"他们使用它来折叠代码的逻辑部分,这些逻辑部分不属于通常折叠起来的函数,类,循环等."
除了提到的那些之外还有什么其他用途?
使用花括号来限制变量的范围并仅在需要时扩展范围(在"需要访问"的基础上工作)是一个好主意吗?或者它真的很傻?
如何使用范围,以便您可以在不同的范围内使用相同的变量名称,但在相同的更大范围内?或者,重用相同的变量(如果你想使用相同的变量名)是更好的做法,并节省解除分配和分配(我想一些编译器可以对此进行优化?)?或者更好地使用不同的变量名称?
/**
* Gets the meatball icon for a nincompoop.
*
* <p>
* Example: {@code <custom:meatball color="<%= Meatball.RED %> nincompoop="${person}" />}
*
* @author King Cong
*
*/
Run Code Online (Sandbox Code Playgroud)
"$ {person}"部分会破坏文档注释,因为它使用花括号.
我刚看到bash中的一些代码,我不太明白.作为新手bash脚本,我不知道发生了什么.
echo ${0##/*}
echo ${0}
Run Code Online (Sandbox Code Playgroud)
我没有看到这两个命令的输出有什么不同(打印脚本名称).这#
只是一个评论吗?什么是/*
.如果是评论,为什么它不会干扰关闭}
括号?
谁能让我对这种语法有所了解?
花括号做什么?
handler1 = new Handler() {
public void handleMessage() {
}
};
Run Code Online (Sandbox Code Playgroud)
object = new Class_Name() {};
?这种语法只存在于Android或Java上吗?它在Java中被称为什么?谢谢你的帮助.
我正在使用C++ Extension for VSCode (Visual Studio Code).
目前,我已将设置"C_Cpp.clang_format_formatOnSave"
设置为true
.
这个格式是我保存C++文件时的代码.但格式导致新行而不是同一行上的花括号.
当前C++ VSCode格式化
for (int i = 0; i < 10; i++)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
我希望C++ VSCode格式代码看起来像什么
for (int i = 0; i < 10; i++) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
我也editor.wrappingIndent
准备好了"same"
.
如何在Visual Studio Code中的同一行上以C++格式制作花括号?
Java编程语言中的公认实践是结束带有注释的代码块的括号,该注释简要说明了括号关闭的代码块?我个人认为它们是无用的评论,这些评论会破坏代码的可读性,但也许我可能是错的.例如:
public void myMethod(int foo) {
// some code
if (foo == 2) {
for (int i = 0; i < myMax; i++) {
while (true) {
// some more code
} // end while
} // end for
} // end if
} // end myMethod(int)
Run Code Online (Sandbox Code Playgroud)
以类似方式评论代码块的做法是否被接受?
我在这里问了一个问题:涉及非功能代码的initializer_list返回的生命周期扩展:
const auto foo = [](const auto& a, const auto& b, const auto& c) { return {a, b, c}; };
Run Code Online (Sandbox Code Playgroud)
我相信lambda试图回归intializer_list
(这很糟糕,不要这样做.)但我得到了一个评论:
它不是一个
initializer_list
,它是一个初始化列表.两件不同的事情.
我只是认为,无论何时你做了一个花括号列表,你都在创建一个intializer_list
.如果那不是正在发生的事情,花括号中的列表是什么?
c++ initialization initializer curly-braces initializer-list
围绕方法的javascript参数的花括号有什么作用?
var port = chrome.extension.connect({name: "testing"});
port.postMessage({found: (count != undefined)});
Run Code Online (Sandbox Code Playgroud) 通常,使用花括号来定义bash函数来包围正文:
foo()
{
...
}
Run Code Online (Sandbox Code Playgroud)
今天在处理shell脚本时大量使用函数时,我遇到的问题是调用函数中调用的名称相同的变量,即那些变量是相同的.然后我发现可以通过将函数内部的局部变量定义为local来防止这种情况:local var=xyz
.
然后,在某些时候,我发现了一个线程(使用括号而不是大括号定义bash函数体),其中解释了使用括号来定义函数同样有效:
foo()
(
...
)
Run Code Online (Sandbox Code Playgroud)
这样做的结果是函数体在子shell中执行,这有利于函数具有自己的变量范围,这允许我在没有本地的情况下定义它们.由于具有函数局部范围似乎更有意义,并且比所有变量全局更安全,我立即问自己:
但是,我很快发现了在子shell中执行该函数的一个主要缺点,特别是从函数内部退出脚本不再起作用,而是迫使我在整个调用树中使用返回状态(如果是嵌套函数).这引出了我的后续问题:
(*)我知道(从异常相关的讨论中我偶然发现),有些人认为明确使用错误状态比从任何地方退出要好得多,但我更喜欢后者.
显然这两种风格都有其优点和缺点.所以我希望你们中有些经验丰富的bash用户可以给我一些一般指导:
编辑:从答案的转移
谢谢你的回答,我的脑袋现在对此更加清晰.所以我从答案中得到的是:
坚持传统的花括号,如果只是为了不混淆脚本的其他潜在用户/开发者(如果整个身体被括在括号中,甚至使用括号).
花括号的唯一真正缺点是可以更改父作用域中的任何变量,尽管在某些情况下这可能是一个优点.通过将变量声明为可以很容易地避免这种情况local
.
另一方面,使用括号可能会产生一些严重的不良影响,例如搞乱退出,导致杀死脚本的问题以及隔离变量范围.
curly-braces ×10
java ×4
c++ ×3
bash ×2
escaping ×2
function ×2
syntax ×2
android ×1
class ×1
command ×1
comments ×1
format ×1
initializer ×1
javadoc ×1
javascript ×1
parameters ×1
parentheses ×1
prompt ×1
quotes ×1
scope ×1
variables ×1