ぽざうねっと

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  420  : 記事  0  : コメント  9436  : トラックバック  76

ニュース

さて、今年は何を漬けようか

書庫

日記カテゴリ

Accessory

Community

Private

Ruby のブール演算子には見慣れた &&, ||, ! の他に同じ意味で使用できる and, or, not なるものがある。
違いは優先度だけらしい。(and, or, not のほうが低い)
また、and と or は優先度が同じだが、&& は || より優先度が高いらしい。
慣れているということもあって普段使う分には &&, ||, ! を使うつもりなので問題ないのだが、以下のコードを試してみた。
f1 = true
f2 = true
f3 = false
f4 = false
r1 = f1 && f2 || f3 && f4
r2 = f1 and f2 or f3 and f4
puts r1
puts r2
実行してみると、どちらも true と表示された。
あれ?
and と or が優先度が同じということは r2 は false にならないとおかしくないか?
((f1 and f2) or f3) and f4 と同等になるのだと思ったんだが
なので、ためしに
r3 = ((f1 && f2) || f3) && f4
r4 = ((f1 and f2) or f3) and f4
puts r3
puts r4
を追加して実行してみると、r3 は false になり r4 は true になった。
何が起こってるのかさっぱりわからんorz
俺はどこをどう考え違いをしているんだろう?
とりあえず and, or は絶対使わないと心に固く決めた。
# 他にもメソッドの引数に渡すときに、and や or を使ってる場合は do_something((flag1 and flag2)) のように括弧を二重にしなければならないとかめんどくさいし。
投稿日時 : 2008年1月29日 2:13

コメント

# re: Ruby の論理演算子 2008/01/29 11:57 DELI
これを実行してみれば何が起こっているか分かると思います。
puts f1
puts f1 and f3

で、演算子の優先順位をよーく見てみましょう。

-----------------------------------
高い ::
[...略...]
||
.. ...
?:(条件演算子)
=(+=, -= ... )
not
低い and or
-----------------------------------

「andとorとnotの優先順位低すぎじゃね?」という突っ込みは無しで。仕様です。

# re: Ruby の論理演算子 2008/01/29 11:58 DELI
あ、すみません。インデントがずれました。orz

# re: Ruby の論理演算子 2008/01/29 13:53 THREE-ONE
ああっ!!優先度が = より低いって事ですね and と or は。
ってことは
r2 = (f1 and f2 or f3 and f4)にしとけばやりたいテストができたってことかな?
残念ながら今は環境がありませんが、帰宅したら試してみます。
メソッドに渡すときにも () が必要なのは、「引数に代入」という処理より優先させるために必要ということか。

DELI さんありがとうございました。


# Ruby の論理演算子 その2 2008/01/29 23:55 へぼろっぱぁ
Ruby の論理演算子 その2

# [Ruby再入門]演算子の優先順位 2008/12/06 18:57 かずきのBlog
[Ruby再入門]演算子の優先順位

# http://www.superbootonline.com 2012/10/19 16:53 ugg sale
of course like your website however you have to check the spelling on several of your posts. A number of them are rife with spelling problems and I find it very troublesome to inform the truth nevertheless I will surely come back again.

# Various gucci Guidelines You Need To Stick With 2012/12/24 0:42 Reoglerolla
LchDla http://guccimenzujp.com/ - gucci メンズ QzpYas http://guccimenzujp.com/ LygWfp http://guccimenzujp.com/グッチ-メンズ財布-c-4.html - gucci 財布 XjkEbb http://guccimenzujp.com/グッチ-レディース長財布-c-2.html - グッチ バッグ ZgnUcp http://guccijastore.com/ - gucci YnzTbv http://guccijastore.com/ DbrGog http://guccijastore.com/グッチ-財布-c-2.html - グッチ 財布 VvsEdg http://guccijastore.com/グッチ-バッグ-c-1.html - グッチ バッグ XcgGlg http://www.guccijpcheap.com/ - グッチ MwpJtd http://www.guccijpcheap.com/グッチ-財布-c-3.html - gucci 財布 DqyMla http://www.guccijpcheap.com/グッチ-バッグ-c-1.html - グッチ バッグ WydFjh
http://www.bootswinterjp.com/ - ugg ムートン


# kfuwlbiwcmd@ezwen.ne.jp 2022/07/30 10:25 ロレックス 偽物 質屋
同封の一筆箋の手書きのメッセージがとても素敵でした。
顔が見えないのでネットでブランド品を購入するのは不安。
でもこのように真心を込めてきれいに包装されて届くととてもすがすがしい思いです。嬉しい買い物でした。

Post Feedback

タイトル
名前
Url:
コメント: