[#42643] メールのSMTP認証の方法(質問) — "Hisashi Yahata" <yahatah@...>

お世話になります。

34 messages 2006/08/09
[#42649] Re: メールのSMTP認証の方法(質問) — OHARA Shigeki <os@...> 2006/08/09

大原です。

[#42650] Re: メールのSMTP認証の方法(質問) — "Hisashi Yahata" <yahatah@...> 2006/08/09

大原様

[#42651] Re: メールのSMTP認証の方法(質問) — 植田裕之 <ueda@...> 2006/08/09

植田と申します。

[#42654] Re: メールのSMTP認証の方法(質問) — "Hisashi Yahata" <yahatah@...> 2006/08/09

植田 裕之様

[#42657] Re: メールのSMTP認証の方法(質問) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2006/08/09

渡辺哲也です。

[ruby-list:42693] in演算子の提案

From: <rubyist@...>
Date: 2006-08-15 15:51:11 UTC
List: ruby-list #42693
はじめまして。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」の前例もありますし、それほど不自然ではないと思います。

まつもとゆきひろ様、ぜひ導入をご一考ください。
長文で失礼いたしました。

In This Thread

Prev Next