标签: curly-braces

命令提示符无法转义引号和大括号

我试图在命令提示符中执行以下行:

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)

quotes command escaping prompt curly-braces

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

你是否使用花括号进行额外的范围设计?

我的意思是除了在函数,类,if,while,switch,try-catch需要时使用它.

在我看到这个问题之前,我不知道可以这样做.

在上面的链接中,Eli提到"他们使用它来折叠代码的逻辑部分,这些逻辑部分不属于通常折叠起来的函数,类,循环等."

除了提到的那些之外还有什么其他用途?

使用花括号来限制变量的范围并仅在需要时扩展范围(在"需要访问"的基础上工作)是一个好主意吗?或者它真的很傻?

如何使用范围,以便您可以在不同的范围内使用相同的变量名称,但在相同的更大范围内?或者,重用相同的变量(如果你想使用相同的变量名)是更好的做法,并节省解除分配和分配(我想一些编译器可以对此进行优化?)?或者更好地使用不同的变量名称?

c++ java scope curly-braces

38
推荐指数
8
解决办法
9141
查看次数

如何在javadoc内联标记中转义花括号,例如{@code}标记

/**
 * 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}"部分会破坏文档注释,因为它使用花括号.

java javadoc escaping curly-braces

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

在bash中带有变量,大括号和哈希字符的$ {0 ## ...}语法是什么意思?

我刚看到bash中的一些代码,我不太明白.作为新手bash脚本,我不知道发生了什么.

echo ${0##/*}
echo ${0}
Run Code Online (Sandbox Code Playgroud)

我没有看到这两个命令的输出有什么不同(打印脚本名称).这#只是一个评论吗?什么是/*.如果是评论,为什么它不会干扰关闭}括号?

谁能让我对这种语法有所了解?

variables syntax bash curly-braces

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

"新"表达中的卷曲括号?(例如"new MyClass(){...}")

花括号做什么?

handler1 = new Handler() {

        public void handleMessage() {

       }
};
Run Code Online (Sandbox Code Playgroud)

object = new Class_Name() {};?这种语法只存在于Android或Java上吗?它在Java中被称为什么?谢谢你的帮助.

java syntax android class curly-braces

36
推荐指数
1
解决办法
5275
查看次数

C++ VSCode中同一行上的格式大括号

我正在使用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++格式制作花括号?

c++ format curly-braces visual-studio-code

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

大括号/块末尾的Java注释

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)

以类似方式评论代码块的做法是否被接受?

java comments curly-braces

32
推荐指数
2
解决办法
3880
查看次数

什么是Curly-Brace附上列表如果不是intializer_list?

我在这里问了一个问题:涉及非功能代码的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

31
推荐指数
3
解决办法
1349
查看次数

用于方法的Javascript参数内的大括号

围绕方法的javascript参数的花括号有什么作用?

var port = chrome.extension.connect({name: "testing"});
port.postMessage({found: (count != undefined)});
Run Code Online (Sandbox Code Playgroud)

javascript parameters function curly-braces

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

bash函数:将主体括在括号和括号中

通常,使用花括号来定义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.

  • 另一方面,使用括号可能会产生一些严重的不良影响,例如搞乱退出,导致杀死脚本的问题以及隔离变量范围.

bash function curly-braces parentheses

27
推荐指数
3
解决办法
6489
查看次数