据我了解,=>
用于将字符串绑定为变量名。
例如,
df1 = DataFrame(x=1:2, y= 11: 12)
df2 = DataFrame("x"=>1:2, "y"=> 11: 12)
两者返回相同的结果,
│ Row │ x │ y │
│ │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1 │ 1 │ 11 │
│ 2 │ 2 │ 12 │
这里唯一的区别在于df1
的x
变量保存了1:2
,而df2
的"x"
字符串保存了1:2
。所以从上面的结果来看,我认为可以使用=>
从字符串中创建变量。
但是当我尝试像下面这样将值保存在简单变量中时:
x = 10
O/P:10
"y"=>10
O/P:"y" => 10
我无法理解这个结果。当我打印x
时,它像预期的那样为10
。但是当我打印y
时,我收到了UndefVarError
。我发现Symbol
也有同样的效果:z =>10
我猜测我关于=>
的假设是错误的。因为实际上该字符串并没有被转换为一个新的变量。
=>
在Julia中的实际目的是什么?
我什么时候需要使用=>
而不是=
?