Julia对Unicode字符提供了有趣的支持。该语法使我可以在iJulia笔记本中运行以下命令。
μ = 10
σ = 20
∑ = sum
a = [1,2,3,4]
∑(a) # prints 10
但是,似乎并不总是可以将Unicode字符用作函数/变量名称。
√ = sqrt
给出以下错误:
syntax: unexpected "="
forall(x,f) = [f(i) for i in x]
∀ = forall
给出以下错误:
syntax: invalid character "∀"
我误会了规则吗?我以为Unicode字符会像任何其他字母字符一样被解释,但是我似乎在看似简单的语句上遇到了两个不同的错误。
√
是现有功能的名称;尝试运行以下命令:
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
...
至于∀
,它不是Julia源代码中的有效字符(还?)。看到这个讨论; 发生的事情是,开发人员仍在考虑是否制作∀
一个有效的角色,如果这样做,它将具有什么意义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句