比较来自世界各地的卖家的域名和 IT 服务价格

独家或in的网站 ruby?

李伊娜 Ruby 简单的英文关键字 exclusive 或者,像他们一样, "and" 和 "or"? 如果没有,这是因为独家或不降低评级?
已邀请:

龙天

赞同来自:

不,它不是那么,你只能使用
^

.

我不知道为什么它不是特别的,也许只是因为它不经常使用。

莫问

赞同来自:

因为运营商,我遇到了一个问题 ' ^ ' 耗尽的数字,


true ^ 1
=> false

1 ^ true
TypeError: can't convert true into Integer
true ^ 1


所以我的解决方法是:


/ !!a ^ !!b /

, 双爆发将它们变成布尔值。


!!1 ^ !!true
=> false

!!1 ^ !!false
=> true

莫问

赞同来自:

首先,我认为没有合理地应用短路 XOR: 无论第一操作数值如何,都必须调查第二个操作数。

其次, and, &&, 或者 and | / 在所有情况下使用短路; 版本之间的唯一区别 "word" 和 "symbol"- 这是一个优先事项。 我觉得
and


or

存在以确保相同的功能 perl 在这些线上喜欢


process_without_error or die


我认为没有命名功能的原因
xor

, 可能在于,在这种情况下,使用低优先级运营商并没有意义,这已经是一个相当令人困惑的情况!

江南孤鹜

赞同来自:

尝试
^



true ^ false #=> true
true ^ true #=> false
false ^ false #=> false


但是,没有简单的英语等效操作员。

帅驴

赞同来自:

亚特王角的双重拒绝替代使用 XOR 在任意类型上,您可以将另一个测试相关联。 XOR, 以。。。开始
nil

.:


!!foo ^ !!bar


相等的


nil ^ foo ^ bar


在我看来看起来更加整洁,我想这需要一个较少的逻辑操作。

董宝中

赞同来自:

任何销售
xor

它不会允许短路。 两个表达式都应独立于任何东西欣赏。

Ruby 真的提供了运营商
^

, 但它会扼杀真正的意义。 我在需要时实现了处理案例的函数
xor

, 谁的行为更像
and


or

:


def xor/a,b/
/a and /not b// or //not a/ and b/
end


不像
^

, 此功能可用于如下所示:


xor/"hello".match//llo//, false/ # => true
xor/nil, 1239/ # => true
xor/"cupcake", false/ # => false

冰洋

赞同来自:

回答约翰似乎是错的。 在 irb 从 1.9.3 xor /"cupcake", false/ 回报 true, 正如预期的那样。


1.9.3-p429 :104 > def xor/a,b/
1.9.3-p429 :105?> /a and /not b// or //not a/ and b/
1.9.3-p429 :106?> end
=> nil
1.9.3-p429 :107 > xor/false, true/
=> true
1.9.3-p429 :108 > xor/"cupcake", false/
=> true

要回复问题请先登录注册