程序员需要哪些引号?

时间:2009-03-24 20:27:37

标签: quotes

我的键盘只有正常的引号,而不是智能引号。

我已经发现我需要cgi development中的正常和AWK/SED中的后退。

我应该使用智能报价,普通报价和落后报价吗?

显然,我需要编辑我的键盘布局以获得智能引号。

8 个答案:

答案 0 :(得分:16)

如果你用智能引号表示`,那么它实际上被称为“反引号”。聪明的引号是当你输入'和'时,但是根据上下文自动获得'和'或“和”。我不确定你如何在awk或sed中使用智能引号。

在shell中,反引号(例如`command`)用于评估命令并将其中的命令结果替换为正在评估的shell表达式;它可用于计算和参数到另一个命令,或设置变量。为了减少歧义,您可以使用$(command),这样可以更轻松地制定大量引用规则。

在shell中,'"也不同。 "用于需要变量替换和转义序列的字符串。 '表示仅包含引号内字符的字符串,不包含可变插值或转义序列。

所以,例如:

$ name=world
$ echo "Hello, $name"
Hello, world
$ echo 'Hello, $name'
Hello, $name
$ echo "Testing \\ escapes"
Testing \ escapes
$ echo 'Testing \\ escapes'
Testing \\ escapes
$ echo `ls`
example-file another-example
$ echo 'ls'
ls
$ echo "ls"
ls

其他脚本语言(如Perl和Ruby)也有类似的规则,但可能会略有不同。

答案 1 :(得分:7)

智能引号适用于漂亮的排版。它们与编程无关。

修改:执行所需的引号。

  • 双引号:“”它们用于多种语言的文字字符串
  • 单引号:''用于某些语言中的文字字符,如C和javascript和php等语言中的字符串。 (例如,如果您需要打印字符串“foo”,则可以使用'"foo"'
  • 返回引号:在UNIX shell中,表示将一个命令的标准输出替换为定义另一个命令的文本行。例如echo``date \可能执行echo Sat Mar 1 09:43:00 GMT 2008并打印Sat Mar 1 09:43:00 GMT 2008.

答案 2 :(得分:6)

在shell / awk / perl编程中以及在TeX中执行文档时,会使用反引号。除此之外,你可能不会使用它们。

答案 3 :(得分:3)

据我所知,没有语言需要(或必然支持)“智能引号”,除非你将反引号字符称为“智能引用”。如果是这样的话,许多语言支持反击。例如,bash和ruby都使用反引号进行命令替换。

要回答问题当我应该使用智能引号和普通引号时是否有任何规则?,是的,有一条规则(再次,假设你的意思是当你说“智能引号”时的反引号) )。在大多数语言中,不同类型的引用会为您提供不同类型的行为。规则是,了解该特定语言的行为,然后选择能够为您提供该行为的报价。

答案 4 :(得分:2)

聪明的报价是魔鬼。

答案 5 :(得分:1)

智能引号是文字处理器功能。当您键入“quote”时,它会自动替换为“quote”或“quote”。我认为你的命名错误了。

答案 6 :(得分:1)

仅仅是一个FYI,“智能引号”的另一个术语(我之前从未听说过),是一种严肃的口音。

我认为规则在以前的答案中已经非常明确地列出。

答案 7 :(得分:1)

$ / usr / games / fortune

相关问题