don*_*rog 8 julia ijulia-notebook
我想了解这段代码:
r = (1:10) - (4/1)
println(r)
Run Code Online (Sandbox Code Playgroud)
输出:
-3.0:1.0:6.0
我明白了为什么我得到了-3和6.但为什么我在中间得到这个值(1.0)?朱莉娅如何计算它?或者我如何谷歌呢?
Rez*_*lan 12
(first:step:last)语法表示RangeJulia中的类型
typeof(1:10) # => UnitRange{Int32}
Run Code Online (Sandbox Code Playgroud)
如果省略步骤部分,则默认为假定 1
1:10 == 1:1:10 # => true
Run Code Online (Sandbox Code Playgroud)
A Range是系列的紧凑视图
collect(1:10) # => 10-element Array{Int32,1}:
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10
Run Code Online (Sandbox Code Playgroud)
因此,预期Range类型和Vector遵循相同的规则,例如当您添加如下的常量值时:
collect(1+(1:10))==collect(1:10)+1 # => true
Run Code Online (Sandbox Code Playgroud)
或者甚至添加两个向量会给你添加它们的范围表示的相同结果,如下所示:
collect((1:10)+(1:10))==collect(1:10)+collect(1:10) # => true
Run Code Online (Sandbox Code Playgroud)