如果我写
`?` <- function(a,b) (a-b)/a
Run Code Online (Sandbox Code Playgroud)
U+394只要它包含在反引号中,我就可以包括在内.(相比之下,? <- function(a,b) (a-b)/a失败了unexpected input in "?".)显然,R解析UTF-8或Unicode或类似的东西.任务进展顺利,例如评估也是如此
`?`(1:5, 9:13)
Run Code Online (Sandbox Code Playgroud)
.我也可以评估?(1:5, 9:13).
最后,如果我定义了类似的东西,winsorise <- function(x, ?=.05) { ... }那么λ(U+3bb)不需要用反引号"引入"R.然后我可以毫无问题地打电话winsorise(data, .1).
在R的文档中我唯一能提到的unicode就在我脑海中.理解它的人能否更好地向我解释 - 当R需要`理解赋值给♔时,"引擎盖下"会发生什么,但是一旦分配了can(a,b,c)就能解析?
根据记录,在 R-devel (2015-02-11 r67792)、Win 7、英国英语语言环境下,我看到:
\n\noptions(encoding = "UTF-8")\n\n`\xce\x94` <- function(a,b) (a-b)/a \n## Error: \\uxxxx sequences not supported inside backticks (line 1)\n\n\xce\x94 <- function(a,b) (a-b)/a\n## Error: unexpected input in "\\"\n\n"\xce\x94" <- function(a,b) (a-b)/a # OK\n\n`\xce\x94`(1:5, 9:13)\n## Error: \\uxxxx sequences not supported inside backticks (line 1)\n\n\xce\x94(1:5, 9:13)\n## Error: unexpected input in "\\"\n\n"\xce\x94"(1:5, 9:13)\n## Error: could not find function "\xc3\x8e\xe2\x80\x9d"\nRun Code Online (Sandbox Code Playgroud)\n