为什么我不能在作业中使用Unicode字符√和??

can*_*his 7 unicode variable-assignment julia

Julia对Unicode字符有一个有趣的支持.语法允许我在iJulia笔记本中运行以下命令.

? = 10
? = 20
? = sum
a = [1,2,3,4] 
?(a) # prints 10
Run Code Online (Sandbox Code Playgroud)

但是,似乎并不总是可以将Unicode字符用于函数/变量名称.

sqrt√例子

? = sqrt
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

syntax: unexpected "="
Run Code Online (Sandbox Code Playgroud)

forall∀例子

forall(x,f) = [f(i) for i in x]
? = forall
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

syntax: invalid character "?"
Run Code Online (Sandbox Code Playgroud)

为什么?

我误解了规则吗?我假设Unicode字符将被解释为与任何其他字母字符一样,但我似乎在看似简单的语句上得到两个不同的错误.

jub*_*0bs 8

?是现有函数的名称; 尝试运行以下代码:

julia> methods(?)
# 12 methods for generic function "sqrt":
sqrt(a::Complex{Float16}) at float16.jl:141
sqrt{T<:FloatingPoint}(z::Complex{T<:FloatingPoint}) at complex.jl:237
sqrt(z::Complex{T<:Real}) at complex.jl:261
...
Run Code Online (Sandbox Code Playgroud)

至于?,它不是Julia源代码中的有效字符(还是?).见这个讨论 ; 所发现的是,开发人员仍在考虑是否要制作?一个有效的角色,如果他们这样做,那将是什么意思.