julia - (x :y) operator in Julia

标签 julia ijulia-notebook

我试图理解这段代码:

  r = (1:10) - (4/1)
    println(r)

Output:

-3.0:1.0:6.0



我明白为什么我会收到 -36 .但是为什么我在中间得到那个值 (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/

相关文章:

parallel-processing - 采取的功能!放!和 Julia 中的 channel

julia - 实现的协方差估计器

jupyter-notebook - 更改 Julia 笔记本中的绘图窗口大小

optimization - 约束数组 Julia

variables - Julia 中变量名称的分数

python - 如何让 Julia Code 更高效?目前它的性能甚至比 Python 还差

julia - 如何在 Julia 中添加包

julia - 无法在 Julia 1.0 中构建 Ijulia

for-loop - Julia 中异步多个计算的并行代码

dataframe - 如何从 Julia 中的一列 DataFrame 中提取 column_name 字符串和数据向量?