` 字符的名称是什么?它在 SE 代码格式之外的意义是什么,因为我无法让它工作?我熟悉它在 Stack Exchange 论坛中用于格式化代码块的用途,因此请不要参与其中。
答案1
` 被称为多种名称,包括反引号、反引号、倒逗号、准引号和重音符号。
需要注意的是,引号、抽签等会影响 shell 处理变量的方式。如果使用不正确,您的结果可能会有所不同,或者您可能会收到错误。
当形成完整的表达式时,你应该将它们括在 `` 中,如下所示:
val=`expr 3 + 4`
下面包含了跨各种不同应用的更详细的描述。
重音符号 (`) 是许多书面语言中使用的变音符号。
程序员已将重音符号用作单独的字符(即不与任何字母组合)来执行许多任务。在这个角色中,它被称为反引号或反引号。
当使用 TeX 排版文本时,反引号字符用作表示左引号的语法。例如,` 呈现为单左大引号 ('),而 `` 则呈现为双大花左引号 (“)。
它还用于在需要数字的地方提供 ASCII 字符的数字 ASCII 值。
许多 Unix shell 以及编程语言 Perl、PHP 和 Ruby 使用该字符对来指示命令替换,即将一个命令的标准输出替换为定义另一个命令的一行文本。例如,代码行:
echo It is now `date`
命令替换后,可能会产生以下命令:
echo It is now Sun Apr 6 05:37:06 GMT 2014
然后在执行时产生输出:
It is now Sun Apr 6 05:37:06 GMT 2014
有时用在源代码注释中来表示代码,例如
Use the `printf()` function.
这也是 Markdown 格式化程序用来指示代码的格式。
尽管您提到了 Stack Exchange 之外的内容,但我认为对于那些不知道 Stack Exchange 在每个论坛的问题、答案和评论中指示代码的方式的人来说很重要。
在 Bash shell 中,样式指南不推荐使用 `...` 语法(尽管并未正式弃用),并且首选替代语法 $(...),因为它更具可读性,尤其是对于嵌套表达式。 Z shell 也是如此。
在 BBC BASIC 中,反引号字符在变量、结构、过程或函数名称的开头或内部有效。
在 D 和 Go 中,反引号用于包围原始字符串文字。
在 Haskell 中,用反引号包围函数名允许它用作中缀运算符。
在Lisp宏系统中,反引号字符(在Scheme中称为准引号)引入了可能发生逗号替换的带引号的表达式。它与普通引号相同,只是以逗号为前缀的符号将替换为这些符号的值作为变量。这大致类似于 Unix shell 中双引号内的 $ 变量插值。
在 m4 中,它与撇号一起使用来引用字符串(以抑制或推迟宏扩展)。
在 MySQL 中,它在查询中用作列、表和数据库分类器。
在 OCaml 中,反引号用于指示多态变体。
在 Pico 中,反引号用于指示编程语言中的注释。
在 Python 3.0 之前,反引号被用作 repr() 函数的同义词,该函数将其参数转换为适合程序员查看的字符串。不过,这个功能在 Python 3.0 中被删除了。
反引号也广泛用于 reStructuredText 纯文本标记语言(在 Python docutils 包中实现)。
Windows PowerShell 使用反引号作为转义字符。例如,换行符表示为“n”。最常用的编程语言使用反斜杠作为转义字符(例如 \n),但由于 Windows 允许反斜杠作为路径分隔符,因此 PowerShell 将反斜杠用于其他目的是不切实际的。要获取 ` 字符本身,需要使用两个反引号。
例如,.NET 的可为空布尔值在 PowerShell 中指定为:
[Nullable``1[System.Boolean]]
在 Tom 中,反引号用于创建新术语或调用现有术语。
在 Scala 中,标识符也可以由反引号之间的任意字符串构成。标识符由除反引号本身之外的所有字符组成。
在 Unlambda 中,反引号字符表示函数应用。