Julia 1.0.0:`=>运算符是做什么的?

时间:2018-09-24 23:47:27

标签: julia

我看到=>的这段Stackoverflow代码,但是当我在Julia 1.0.0在线帮助中搜索“ =>”时,我的命中率为零。

replace!(x, 0=>4)  # The last expression is the focus of this question.

在REPL帮助中,我得到:

help?> =>
search: =>

  Pair(x, y)
  x => y
  

构造一个Pair{typeof(x), typeof(y)}类型的Pair对象。元素存储在第一和第二字段中。    也可以通过迭代访问它们。

     

另请参阅:词典

     

示例    ≡≡≡≡≡≡≡≡≡≡

  julia> p = "foo" => 7
  "foo" => 7

  julia> typeof(p)
  Pair{String,Int64}

  julia> p.first
  "foo"

  julia> for x in p
             println(x)
         end
  foo
  7

=>replace!(x, 0=>4)中做什么?它会创建一个对,将所有零替换为四,还是什么?为什么我似乎在Julia 1.0.0在线文档中找不到它?

编辑

添加了代码以帮助我理解@Bill在下面的有用答案:

julia> x = [1, 0, 3, 2, 0]
5-element Array{Int64,1}:
 1
 0
 3
 2
 0

julia> replace!(x, 0=>4)
5-element Array{Int64,1}:
 1
 4
 3
 2
 4

编辑2

除了@Bill接受的答案之外,我发现@Steven的答案也很有帮助。抱歉,我无法同时检查它们,但是Bill的名字是第一位的,他们都提供了有用的信息。

3 个答案:

答案 0 :(得分:4)

“ =>在替换中有什么作用!(x,0 => 4)?它会创建一个对,将所有零替换为四还是什么?”

它将创建一个对。在函数replace中,第二个参数位置中的Pair表示Replace()的多次调度选择了replace函数的版本,在给定数值数组或字符串x的情况下,替换了Pair中第一部分的x内的所有项目均被替换。并带有对的第二部分的实例。

您可以查看REPL文档以了解替换的详细信息。

答案 1 :(得分:0)

“ =>”运算符表示“更改为”

如此

julia> replace("hello world",'l' => 'z')
"hezzo worzd"

表示使用“ change”“ l”“ into”“ z”更改字符串“ hello world” 并生成结果字符串“ hezzo worzd”

julia> replace( [1,2,3,4,5], 3 => 666 )
5-element Array{Int64,1}:
   1
   2
 666
   4
   5

答案 2 :(得分:0)

这个小例子应该说明“=>”是如何形成一对的

julia> replace("julia", Pair("u", "o"))

"jolia"

julia> replace("julia", "u" => "o")

"jolia"