变量绑定和变量之间的区别?
Difference between variable bindings and variables?
在我使用 Rust 的过程中,我看到一些人称它们为变量,而另一些人称它们为变量绑定——甚至绑定作为引用它的一种简短方式。
在 Rust 书中,it’s stated:
In many languages, a variable binding would be called a variable, but Rust’s variable bindings have a few tricks up their sleeves. For example the left-hand side of a let statement is a ‘pattern’, not a variable name.
在本书的后面,他们继续将变量绑定称为绑定或变量。我在 Whosebug 上也注意到了这一点——它们似乎可以互换使用。
问题是,有时将绑定称为变量是否比后者更正确?对于更正确的术语——变量绑定——我假设这两个词是不同的词——你应该遵循他们书中的词。我很困惑。
A variable binding is a statement 将变量绑定到名称;在声明中
let x = 1;
整个语句是变量绑定,x
是变量绑定到的名称。在此声明之后,您可以将 x
称为 变量 或 绑定 (但不是 变量绑定 ).
您提出的片段只是强调了一个事实,即在 Rust 中您可以使用变量绑定来做各种事情,因为 let
语句受模式匹配的影响,例如
let (a, b, c, s) = (1u8, 2usize, 3i32, "foo");
一次赋值4个不同类型的变量。
Edit:binding 在 Rust 中如此受欢迎可能是有原因的,尽管 variable 是编程中更为成熟的术语;由于在 Rust 中绑定默认是不可变的,对于没有编程背景的人来说,将它们称为 variables.
可能会很奇怪
在我使用 Rust 的过程中,我看到一些人称它们为变量,而另一些人称它们为变量绑定——甚至绑定作为引用它的一种简短方式。
在 Rust 书中,it’s stated:
In many languages, a variable binding would be called a variable, but Rust’s variable bindings have a few tricks up their sleeves. For example the left-hand side of a let statement is a ‘pattern’, not a variable name.
在本书的后面,他们继续将变量绑定称为绑定或变量。我在 Whosebug 上也注意到了这一点——它们似乎可以互换使用。
问题是,有时将绑定称为变量是否比后者更正确?对于更正确的术语——变量绑定——我假设这两个词是不同的词——你应该遵循他们书中的词。我很困惑。
A variable binding is a statement 将变量绑定到名称;在声明中
let x = 1;
整个语句是变量绑定,x
是变量绑定到的名称。在此声明之后,您可以将 x
称为 变量 或 绑定 (但不是 变量绑定 ).
您提出的片段只是强调了一个事实,即在 Rust 中您可以使用变量绑定来做各种事情,因为 let
语句受模式匹配的影响,例如
let (a, b, c, s) = (1u8, 2usize, 3i32, "foo");
一次赋值4个不同类型的变量。
Edit:binding 在 Rust 中如此受欢迎可能是有原因的,尽管 variable 是编程中更为成熟的术语;由于在 Rust 中绑定默认是不可变的,对于没有编程背景的人来说,将它们称为 variables.
可能会很奇怪