Questions tagged «syntax»

语法是指实际的语言元素和符号本身。当问题特别且几乎完全与语法相关时,应将问题标记为语法。该标签应与特定的语言标签一起使用

2
YAML:我需要在YAML中使用双引号吗?
我正在尝试编写有关Rails项目国际化的YAML字典。不过,我有些困惑,因为在某些文件中,我看到字符串用双引号引起来,而在某些文件中则没有。需要考虑的几点: 示例1-所有字符串都使用双引号; 示例2-没有字符串(最后两个除外)使用引号; 在YAML菜谱说:双引号引起的字符串允许您使用escapings代表ASCII和Unicode字符。这是否意味着仅在我要转义某些字符时才需要使用双引号?如果是,为什么-在第一个示例中为什么在所有地方都使用双引号-仅出于统一/风格方面的原因? 示例2的最后两行使用了!-非特定标记,而第一个示例的最后两行没有使用-并且它们都起作用。 我的问题是:在YAML中使用不同类型的报价的规则是什么? 可以这样说: 通常,您不需要引号; 如果要转义字符,请使用双引号; !当...?!?时使用单引号
398 syntax  yaml  quotes 

6
如何修改MySQL栏以允许NULL?
MySQL 5.0.45 更改表以允许列为空的语法是什么,或者这是怎么回事: ALTER mytable MODIFY mycolumn varchar(255) null; 我将手册解释为仅运行上面的手册,它将重新创建该列,这次允许为空。服务器告诉我我有语法错误。我只是看不到他们。
396 mysql  syntax 

13
JavaScript属性访问:点符号与方括号?
除了显而易见的事实,第一种形式可以使用变量而不仅仅是字符串文字,是否有理由在另一种形式上使用另一种形式?如果是这样,在哪种情况下? 在代码中: // Given: var foo = {'bar': 'baz'}; // Then var x = foo['bar']; // vs. var x = foo.bar; 上下文:我已经编写了一个代码生成器来生成这些表达式,我想知道哪种更好。

17
您可以在JSON对象中使用结尾逗号吗?
手动生成JSON对象或数组时,通常在对象或数组的最后一项上留下逗号逗号会更容易。例如,从字符串数组输出的代码可能看起来像(在C ++中的伪代码中): s.append("["); for (i = 0; i < 5; ++i) { s.appendF("\"%d\",", i); } s.append("]"); 给你一个像 [0,1,2,3,4,5,] 可以吗?
392 json  syntax  delimiter 

2
使用IF语句时,如何将shell命令分成多行?
当命令是if语句的一部分时,如何在外壳中将命令拆分为多行? 这有效: if ! fab --fabfile=.deploy/fabfile.py --forward-agent --disable-known-hosts deploy:$target; then rc=1 fi 这不起作用: # does not work: if ! fab --fabfile=.deploy/fabfile.py \ --forward-agent \ --disable-known-hosts deploy:$target; then rc=1 fi 而不是执行整个命令,我得到: ./script.sh: line 73: --forward-agent: command not found 更重要的是,我对Bash的了解缺少什么,这将有助于我将来了解此问题和类似问题?
384 syntax  sh 



10
解释封装的匿名函数语法
摘要 您能解释JavaScript中封装的匿名函数的语法背后的原因吗?为何起作用:(function(){})();但这不起作用function(){}();? 我知道的 在JavaScript中,将创建一个命名函数,如下所示: function twoPlusTwo(){ alert(2 + 2); } twoPlusTwo(); 您还可以创建一个匿名函数并将其分配给变量: var twoPlusTwo = function(){ alert(2 + 2); }; twoPlusTwo(); 您可以通过创建一个匿名函数来封装代码块,然后将其包装在方括号中并立即执行: (function(){ alert(2 + 2); })(); 在创建模块化脚本时,这很有用,以避免因潜在冲突的变量而使当前范围或全局范围混乱(例如Greasemonkey脚本,jQuery插件等)。 现在,我明白了为什么这样做了。方括号将内容括起来,仅显示结果(我敢肯定有一种更好的描述方式),例如with (2 + 2) === 4。 我不明白的 但是我不明白为什么这不能同样有效: function(){ alert(2 + 2); }(); 你能跟我解释一下吗?

16
为什么要避免在JavaScript中使用递增(“ ++”)和递减(“-”)运算符?
jslint工具的提示之一是: ++和- 已知++(递增)和-(递减)运算符会通过鼓励过多的技巧而导致不良代码。在支持病毒和其他安全威胁方面,它们仅次于错误的体系结构。有一个plusplus选项禁止使用这些运算符。 我知道像这样的PHP构造$foo[$bar++]可能很容易导致一次错误的错误,但是我找不到比a while( a < 10 ) do { /* foo */ a++; }或更好的方法来控制循环for (var i=0; i<10; i++) { /* foo */ }。 jslint是否突出显示它们,是因为有些相似的语言缺少“ ++”和“ --”语法或以不同的方式处理它,还是有其他理由避免我可能会丢失“ ++”和“ --”?


9
shell命令中“ &&”的目的是什么?
据我所知,使用&after命令是在后台运行它。 &用法示例:tar -czf file.tar.gz dirname & 但是&&呢?(请看以下示例:https : //serverfault.com/questions/215179/centos-100-disk-full-how-to-remove-log-files-history-etc#answer-215188)

6
您如何用Python表达二进制文字?
如何使用Python文字将整数表示为二进制数? 我很容易找到十六进制的答案: >>> 0x12AF 4783 >>> 0x100 256 和八进制: >>> 01267 695 >>> 0100 64 您如何使用文字在Python中表示二进制? 答案摘要 Python 2.5及更早版本:可以使用,int('01010101111',2)但不能使用文字来表示二进制。 Python 2.5和更早版本:无法表达二进制文字。 Python 2.6 beta:您可以这样做:0b1100111或0B1100111。 Python 2.6 beta:还将允许0o27或0O27(第二个字符是字母O)表示一个八进制。 Python 3.0 beta:与2.6相同,但将不再允许使用较旧027的八进制语法。


20
int a [] = {1,2,}; 允许使用怪异的逗号。有什么特殊原因吗?
也许我不是来自这个星球,但是在我看来,以下内容应该是语法错误: int a[] = {1,2,}; //extra comma in the end 但事实并非如此。当在Visual Studio中编译的代码我很惊讶,但我已经学会了不信任MSVC编译器尽可能C ++的规则而言,所以我检查的标准,它是标准允许为好。如果您不相信我,可以查看8.5.1的语法规则。 为什么允许这样做?这可能是一个愚蠢的无用问题,但我想让您理解我为什么要问。如果这是一般语法规则的子情况,我会理解-他们决定不为了简化通用语法而仅仅在初始化器列表的末尾不允许多余的逗号。但是不可以,其他逗号是明确允许的。例如,不允许在函数调用参数列表的末尾(当函数采用时...)使用多余的逗号,这是正常现象。 那么,是否再次有明确的理由允许这个多余的逗号呢?

15
Python中没有多行Lambda:为什么不呢?
我听说它说不能在Python中添加多行lambda,因为它们会在语法上与Python中的其他语法结构发生冲突。我今天在公共汽车上考虑这个问题,意识到我想不出一个与多行lambda冲突的Python结构。考虑到我非常了解该语言,这令我感到惊讶。 现在,我确定Guido有一个理由不在语言中包含多行lambda,而是出于好奇:在什么情况下包含多行lambda会导致歧义?我所听到的是正确的,还是Python不允许多行lambda的其他原因?
335 python  syntax  lambda 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.