我试图理解这段代码:
r = (1:10) - (4/1)
println(r)
Output:
-3.0:1.0:6.0
我明白为什么我会收到
-3
和 6
.但是为什么我在中间得到那个值 (1.0) ? Julia 是如何计算的?或者我如何谷歌它?
最佳答案
(first:step:last)
语法表示 Range
输入 Julia
typeof(1:10) # => UnitRange{Int32}
如果省略步骤部分,默认情况下假定为
1
1:10 == 1:1:10 # => true
一个
Range
是一个系列的紧凑 View collect(1:10) # => 10-element Array{Int32,1}:
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10
所以预计
Range
类型和一个 Vector
遵循相同的规则,例如,当您添加这样的常量值时:collect(1+(1:10))==collect(1:10)+1 # => true
甚至添加两个向量会给你添加它们的范围表示的相同结果,如下所示:
collect((1:10)+(1:10))==collect(1:10)+collect(1:10) # => true
关于julia - (x :y) operator in Julia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33256911/