- UID
- 117
- 帖子
- 14997
- 主题
- 1022
- 精华
- 2
- 积分
- 23747
- 历练
- 3
- 声望
- 133
- 人气
- 2719
- 经验
- 21527
- 金钱
- 221
- 注册时间
- 2009-10-1
- 最后登录
- 2025-4-18
- 在线时间
- 2319 小时
- 阅读权限
- 100

TA的每日心情 | 擦汗 2025-4-18 22:28 |
---|
签到天数: 1458 天 [LV.10]以坛为家III - 精华
- 2
- 积分
- 23747
- 历练
- 3
- 声望
- 133
- 人气
- 2719
|
满足特定的条件与否,之后的动作会根据其不同而改变就叫作条件分歧。
比较运算符在具体地学习处理条件分歧的方法之前,要先记住条件构成中使用的运算符。
下面 6 个运算符称为比较运算符。使用这些运算符,和给予的条件(数字和字符串)相比较,然后返回结果。
== | 相等 | != | 不相等 | < | 小于 | > | 大于 | <= | 小于或相等[/td] | >= | 大于或相等 | 这里一定要注意的是,判断相等的运算符不是 = 而是 ==。像已学习过的那样,所谓 = 符号表示的不是比较而是代入。请注意不要弄混淆了。
真伪值比较运算的运算结果就称为真伪值。有真(正确)、伪(错误)两种情况。
比较后是正确的话为 true 值,是错误的话就为 false 值。请试试看吧。
p ("早安" == "早安") # => true
p ("早安" == "晚安") # => falsep
(3 + 1 == 3 + 5) # => falsep
(3 + 1 == 2 + 2) # => true
逻辑运算符下面 6 个运算符称为逻辑运算符。
and
&& | 「~,与,~」的意思 | or
|| | 「~,或,~」的意思 | not
! | 「非~」的意思 | 英文单词运算符和符号运算符,无论用哪个都是一样的。在预置脚本中运用的主要是英文单词。使用这些逻辑运算符就能指定更加复杂的条件。
p (100 > 77 and 1 + 1 == 2) # => true
p (100 > 77 && 1 + 1 == 2) # => true
上述示例中,第一行和第二行表示的都是一个内容「100 大于 77 同时 1 + 1 等于 2」。不用说 100 是比 77 大的整数,1 + 1 答案也为 2,两个运算都成立。所以输出结果就为 true(真,正确)。
那么,看下一个算式吧。
p (1 + 1 == 3 or 2 + 2 == 3) # => false
p (1 + 1 == 3 || 2 + 2 == 3) # => false
上述示例中,第一行和第二行表示的也都是一个内容「1 + 1 等于 3 或 2 + 2 等于 3」。很显然,1 + 1 不等于 3,2 + 2 也不等于 3,这样两个运算都不成立。比较运算符 or(||)是只要有一个运算成立就为 ture(真,正确),而这里两个运算全都不成立,所以输出结果就为 false(伪,错误)。
另外,not(!)和上面的例子稍微有些不同, not(!)表示的内容为后面的条件不成立。可以理解为颠倒 true 或 false 的运算符。
p (not true) # => false
p (! true) # => false
上述示例中的内容是「非 true」的意思,所以输出结果为 false。
if ~ elsif ~ else ~ endif ~ end
语句是条件分歧的句法。这个和英文的 if(如果~就)意思相同,表示「如果 if 后面的条件成立的话,就运行下面的处理」的意思。下面示例中的 3~5行就是条件分歧。
a = 20 # 为变量 a 赋值代入 20。
if a >= 10 # 如果 a 为 10 以上的话,
print "big" # 显示 big。
end # 分歧结束。
在条件不满足时也要进行处理的情况下就使用 else,条件不满足但指定另一个条件的情况下就使用 elsif。
a = 7 # 为变量 a 赋值代入 7。
if a >= 10 # 如果 a 为 10 以上的话,
print "big" # 显示 big。
elsif a >= 5 # 除此之外,如果 a 为 5 以上的话,
print "medium" # 显示 medium。
else # 其他,
print "small" # 显示 small。
end # 分歧结束。
unless ~ end与 if 相反,在条件不满足时才进行某些处理的情况下使用 unless 语句。
a = 7 # 为变量 a 赋值代入 7。
unless a >= 10 # 如果 a 不为 10 以上的话,
print "small" # 显示 small。
end # 分歧结束。
case ~ end
在条件为特定的变量值进行分歧的情况下使用 case 语句会更方便。
a = 0 # 为变量 a 赋值代入 0。
case a # 分歧开始。
when 0 # 当 a 为 0 时,
print "零" # 显示 零。
when 1 # 当 a 为 1 时,
print "壹" # 显示 壹。
when 2 # 当 a 为 2 时,
print "贰" # 显示 贰。
end # 分歧结束。
把第一行 a = 后面的 0 改为 1 和 2,然后再来看看分歧的结果吧。当 a 代入 1 时会显示“壹”,代入 2 时会显示“贰”。
条件运算符使用符号 ? 和 : 也是运算符形式的条件分歧语句。
a = 3
p (a >= 10 ? "big" : "small") # => "small"
这个示例的意思是,变量 a 的值在 10 以上的话就显示 "big", 9 以下的话就显示 "small"。条件运算符的语法是「条件 ? 真时的值 : 伪时的值」。上述的条件是 a >= 10,真时的值为 "big",伪时的值为 "small",会根据条件是否满足来决定使用 ? 或 : 的值。
当然使用 if 语句也能完成同样的事情。
a = 3
if a >= 10 p "big"
else
p "small"end
使用 if 语句的语法会像上面写的那样,但是使用条件运算符语句会更加简洁。该语句在当前的脚本中也使用得很多,所以最好事先记住。 |
|