在尝试使用Julia 1.0时,我注意到我可以做这样的事情:
x\y = 1
然后REPL显示:
\ (generic function with 1 method)
这意味着它是一个有效的任务(口译员不会抱怨).然而x,y和x\y所有仍然不确定.
这种表达的含义是什么?
这是一个新的函数定义是(种)阴影的左除法运算\中Base,由于左除法运算符是对一些类型的朱莉娅已定义.新函数定义\(x,y) = 1(函数参数的名称无关紧要)适用于所有类型的变量.Base.\由于名称冲突,这将防止julia加载.无论输入是什么,您的新内容\都会返回相同的值.
julia> x\y = 5
julia> a = 3; b = 4;
julia> a\b
5
julia> c = "Lorem ipsum"; d = "dolor";
julia> c\d
5
Run Code Online (Sandbox Code Playgroud)
如果您已经使用了\定义的那个Base,那么您的重新定义将抛出一个错误,指出扩展Base.\需要显式导入import Base.\.然而,定义\之后的行为import Base.\将是不同的.它将扩展运营商Base.\.
julia> 1\[1,3]
2-element Array{Float64,1}:
1.0
3.0
julia> import Base.\
julia> x\y=3
\ (generic function with 152 methods)
julia> 1\[1,3]
2-element Array{Int64,1}:
3
3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |