From: rubyist@... Date: 2006-08-16T00:51:11+09:00 Subject: [ruby-list:42693] in演算子の提案 はじめまして。diceと申します。 とある掲示板で出た話なのですが include?メソッドのシンタックスシュガーとして、in演算子を導入していただけないでしょうか。 たとえば次のような使い方ができる演算子です。 if s in [a, b, c] # if [a, b, c].include?(s) と同義 なぜこのような「オブジェクト指向的でない」記法を提案するのかと言いますと inを使った方が、字数が少なくて簡潔に書けるというのが一つ。 もう一つは、書き順の問題です。 たとえば「xは100と等しいか?」という条件判断を行う場合 (Rubyに限らず)おそらくたいていのプログラマの方は 100 == x とは書かず x == 100 というように、「変数」「演算子」「比較条件」の順で書くと思います。 しかしinclude?メソッドを用いるときのみ、この順序は逆になります。 if [a, b, c].include?(s) 他の比較とは違って「比較条件」を先に、「変数」を後に書くことになり 私はこうした書き方に、少なからずストレスを感じます。 これをinを用いて if s in [a, b, c] と書き換えることができれば、かなり書き心地が良くなると感じます。 オブジェクト指向的でない、という反論もあるかもしれませんが 「string =~ regexp」の前例もありますし、それほど不自然ではないと思います。 まつもとゆきひろ様、ぜひ導入をご一考ください。 長文で失礼いたしました。