【发布时间】:2019-03-17 19:01:19
【问题描述】:
因此,从文档中几乎可以清楚标题中的三个实体是什么,但不太清楚它们的目的是什么。
常量在许多语言中都很常见。你不想在你的代码中写3.14,这就是为什么你定义一个常量PI,根据它所代表的事物的性质,它不能被改变,这就是为什么它的值是常量 em> 及时。
用:= 定义绑定到另一个实体的变量也几乎很清楚,但不是真的。如果我将一个变量绑定到3.14,它与定义一个PI 常量不一样吗? $a := $b 是否实际上将$a 定义为$b 的别名,或者,正如某些其他语言所称的,reference?此外,在某些语言中通常使用引用来明确说明,在对象构造或函数调用中,您不想复制对象,但是为什么在相同范围内拥有它会有用
$number_of_cakes = 4;
$also_the_number_of_cakes := $number_of_cakes;
?
最后,文档解释了如何定义一个无符号变量(不能改变,因此实际上是另一种常量),但没有解释为什么去做。无符号变量解决了哪些问题?当变量、常量、绑定变量不能解决无符号变量解决的问题时,实际场景是什么?
【问题讨论】:
-
当您事先不知道要绑定什么时,通常会选择无符号变量。如果它可以是位置的、关联的、标量......那么一个无符号变量就是你的东西。这就是为什么它经常在方法和子原型中使用。
-
"当您事先不知道它会绑定什么时,您通常会选择一个无符号变量。"对于对此感到困惑的读者,因为他们认为一个必须知道代码是否为
my \foo = ...,JJ 不是普通变量而是例程中的参数签名。
标签: raku