Ruby 中的变量
了解 Ruby 中的变量及其使用方法。
在之前的课程中,我们学习了大量内容。希望这些信息没有让你感到困惑,现在你已经清楚该如何正确运行你的 Ruby 程序了。接下来,让我们开始学习一些有趣的内容吧。
## 什么是变量?
变量 是计算机内存中用于存储值的一个位置。它就像蜂巢中的一个单元格。这个概念可能会引发一个问题:为什么我们需要存储值?存储值非常方便,因为它允许我们随时回看或修改这些值,如果需要的话。我们并不一定要修改变量的值。有时,引入一些变量可以提升程序的可读性。
通常,这类变量被称为常量,因为它们一旦定义就不会被更改。因此,在现代 JavaScript 中使用以下关键字:
let用于声明一个变量。const用于定义一个不可更改的常量。
示例
让我们尝试在 Ruby 中定义一个简单的变量:
1# 一个使用变量的简单 Ruby 程序 2 3age = 20 # 变量 4puts "Your age is" 5puts age
说明
在第 2 行,程序将一个人的年龄存储在一个名为 age 的变量中。然后,它将年龄输出到屏幕上。
我们可以给这个程序任意命名。例如,也可以命名为 a。但如果是这样,第 4 行就会变成 puts a。
变量命名
在命名变量时,有一些重要的命名规范,你可以在你喜欢的搜索引擎中输入“Ruby 变量命名规范”来查找相关信息。
但在 Ruby 和 JavaScript 中,常见的命名方式有三种:
- 蛇形命名法(Snake case)
蛇形命名法常用于 Ruby,也常见于数据库的表名和列名。例如:
client_age
user_password
user_password_expiration_date
- 驼峰命名法(Camel case)
在驼峰命名法中,变量名以小写字母开头,单词之间通过大写字母连接。例如:
clientAge
userPassword
userPasswordExpirationDate
驼峰命名法常用于 JavaScript 以及像 Go 和 Java 这样的静态类型语言中。
- 短横线命名法(Kebab case)
在短横线命名法中,单词之间用连字符分隔。例如:
client-age
user-password
user-password-expiration-date
短横线命名法常用于 HTML 中。例如:
1<input type="text" name="login" data-error-highlight-color="red">
目前我们只需要记住第一种命名方式,因为这是 Ruby 中使用的标准。
如果变量名包含多个单词,应使用下划线分隔。理想情况下,变量名应尽量只用一个单词。使用两个或更多单词通常意味着上下文范围太宽泛。
程序员们普遍认为,有时候为变量命名并不容易。
"计算机科学中有两件困难的事:缓存失效和给事物命名。" – Phil Karlton
如果某个变量名过长,不要试图人为地缩短字符数。例如,将 client_password_expiration_date 改为 cped 是不推荐的做法。现阶段我们先保持原样,稍后再回来看是否可以进行重构(代码优化)。
除了命名规范外,Ruby 本身还规定了一些变量命名规则:
-
变量名必须以小写字母或下划线开头。
-
变量名只能包含字母、数字或下划线。