Ruby true 关键字
最后修改日期:2025 年 4 月 27 日
本教程将介绍 Ruby 的 true
关键字和布尔逻辑。true
关键字在 Ruby 中代表布尔值的 true。
true
关键字是 Ruby 的两个布尔字面量之一(另一个是 false
)。它是 TrueClass
的一个实例,在所有布尔上下文中都评估为 true。
在 Ruby 中,只有 false
和 nil
是假值。所有其他值,包括零、空字符串和空数组,都是真值。
基本 true 示例
这个简单的例子演示了在条件语句中最基本的 true
关键字用法。
if true puts "This will always execute" else puts "This will never execute" end
由于条件评估为 true
,代码总是执行第一个分支。在这种情况下,else
分支是不可达的。
方法返回值中的 true
方法经常返回 true
来表示成功或积极的结果。本例展示了一个返回布尔值的验证方法。
def valid_email?(email) email.include?("@") && email.include?(".") end result = valid_email?("user@example.com") if result == true puts "Valid email address" else puts "Invalid email address" end
valid_email?
方法仅在两个条件都满足时才返回 true
。== true
比较是显式的,但在 Ruby 中通常是不必要的。
带逻辑运算符的 true
true
关键字与 Ruby 的逻辑运算符(&&
、||
、!
)一起使用。本例演示了布尔逻辑。
a = true b = false puts "AND: #{a && b}" # false puts "OR: #{a || b}" # true puts "NOT: #{!a}" # false puts "XOR: #{a ^ b}" # true
该示例展示了与 true
和 false
的各种布尔运算。XOR(^
)在操作数不同时返回 true。
三元运算符中的 true
三元运算符是一种简洁的条件语句,经常使用布尔值。本例展示了 true
决定返回值。
logged_in = true message = logged_in ? "Welcome back!" : "Please log in" puts message
三元运算符检查 logged_in
是否为 true
,并返回相应的字符串。这是一种用于条件消息的常见模式。
作为默认参数的 true
方法可以使用 true
作为默认参数值。这使得可以选择布尔标志,这些标志默认为 true。
def process_data(data, verbose = true) puts "Processing data..." if verbose # data processing logic puts "Done!" if verbose end process_data([1, 2, 3]) # verbose output process_data([1, 2, 3], false) # silent processing
verbose
参数默认为 true
,显示进度消息。传入 false
将抑制输出。
Case 语句中的 true
Case 语句可以在 when 子句中使用 true
来创建灵活的条件。这允许复杂的匹配逻辑。
age = 25 case true when age < 18 puts "Child" when age < 65 puts "Adult" else puts "Senior" end
case 语句将每个条件与 true
进行评估。当条件不共享共同的主题时,此模式很有用。
对象比较中的 true
true
关键字可用于对象比较和相等性检查。本例演示了各种比较场景。
puts "true object ID: #{true.object_id}" puts "TrueClass instance: #{true.instance_of?(TrueClass)}" puts "Equality check: #{true == true}" # true puts "Identity check: #{true.equal?(true)}" # true puts "Boolean conversion: #{!!true}" # true
Ruby 中的所有 true
值都是同一个对象(单例模式)。本例展示了身份检查和布尔转换技术。
来源
本教程通过实际示例涵盖了 Ruby 的 true
关键字,展示了布尔逻辑、方法返回值和条件结构。
作者
列出 所有 Ruby 教程。