[#42624] Ruby インストールできません — 水野 あゆみ <chaaneko@...>
Ruby超初心者です。
9 messages
2006/08/07
[#42629] Re: Ruby インストールできません
— Takahiro Kambe <taca@...>
2006/08/07
In message <20060807042520.90137.qmail@web3002.mail.tnz.yahoo.co.jp>
[#42643] メールのSMTP認証の方法(質問) — "Hisashi Yahata" <yahatah@...>
お世話になります。
34 messages
2006/08/09
[#42645] Re: メールのSMTP認証の方法(質問)
— WATANABE Tetsuya <Tetsuya.WATANABE@...>
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
植田 裕之様
[#42655] Re: メールのSMTP認証の方法(質問)
— 植田裕之 <ueda@...>
2006/08/09
植田です。
[#42656] Re: メールのSMTP認証の方法(質問)
— "Hisashi Yahata" <yahatah@...>
2006/08/09
植田様
[#42657] Re: メールのSMTP認証の方法(質問)
— WATANABE Tetsuya <Tetsuya.WATANABE@...>
2006/08/09
渡辺哲也です。
[#42659] Re: メールのSMTP認証の方法(質問)
— Kazuhiro NISHIYAMA <zn@...>
2006/08/09
西山和広です。
[#42664] Re: メールのSMTP認証の方法(質問)
— "Hisashi Yahata" <yahatah@...>
2006/08/10
西山和広様
[#42674] Re: メールのSMTP認証の方法(質問)
— Kazuhiro NISHIYAMA <zn@...>
2006/08/11
西山和広です。
[#42665] 組み合わせを作るrubyらしい方法 — しん <dezawa@...>
出沢です
7 messages
2006/08/10
[#42682] Javaの interfaceのようなもの — Yuumi Yoshida <yuumi3@...>
こんにちは、 yuumi3です。
5 messages
2006/08/13
[#42690] StringScanner と case の相性 & メソッド上書きの方法 — take_tk <ggb03124@...>
たけ(tk)です
7 messages
2006/08/15
[#42691] リンクを抜き出す正規表現について — Yosuke Suzuki <yosuke@...>
suzukiといいます。
10 messages
2006/08/15
[#42693] in演算子の提案 — <rubyist@...>
はじめまして。diceと申します。
8 messages
2006/08/15
[#42715] n次元配列#each_index — Sato Hiroshi <hirocy.f01@...>
hirocyです.
4 messages
2006/08/17
[#42720] ベクターに登録されている Windows 用Rubyバイナリ — KIMURA Koichi <kbk@...>
木村です。
6 messages
2006/08/18
[#42724] エスケープシーケンスの画面制御について — リックス <rubyer4649@...>
りっくすです
7 messages
2006/08/19
[#42737] rexmlでのUTF-16の扱いについて — 石田 三英 <ishida@...>
石田と申します。
9 messages
2006/08/22
[#42758] eval substirution with variable — KIRIYAMA Kazuhiko <kiri@...>
桐山です.
6 messages
2006/08/28
[#42765] ?がメソッド名の途中にあるのはNG? — Daisuke Yamazaki <yamajaki@...>
こんにちは.山崎です.
6 messages
2006/08/29
[ruby-list:42722] Re: in演算子の提案
From:
"Hiroyuki Iwatsuki" <don@...>
Date:
2006-08-19 05:33:11 UTC
List:
ruby-list #42722
岩月と申します。
ruby-devネタかもと思いつつこちらへ。
in演算子は面白いと思いましたので、
ためしにCVS HEADで実装してみました。
% ruby -ve "ary = [1, 2, 3];s = 1;if s in ary; p(true); end"
ruby 1.9.0 (2006-08-19) [i386-freebsd6.1]
true
内部で右辺オブジェクトのinclude?メソッドを呼び出しますので、
include?を持っていないオブジェクトを右辺に置くとエラーになります。
エラーメッセージに生々しくinclude?と出ます(改善の余地あり?)。
% ruby -ve "n = 100;s = 1;if s in n; p(true); end"
ruby 1.9.0 (2006-08-19) [i386-freebsd6.1]
-e:1: undefined method `include?' for 100:Fixnum (NoMethodError)
andやorと同じような扱いですので、
メソッドの引数に使うときは括弧を2重にします。
% ruby -ve "p(1 in [1, 2, 3])"
ruby 1.9.0 (2006-08-19) [i386-freebsd6.1]
-e:1: syntax error, unexpected keyword_in, expecting ')'
p(1 in [1, 2, 3])
^
-e:1: syntax error, unexpected ')', expecting $end
% ruby -ve "p((1 in [1, 2, 3]))"
ruby 1.9.0 (2006-08-19) [i386-freebsd6.1]
true
この実装自身はともかく、in演算子は見た目わかりやすくなって
好印象です。Ruby 1.8.xへの導入には躊躇しますが、
Ruby 1.9への導入には賛同します。
# やっぱり ruby-dev ネタかな。
--
IWATSUKI Hiroyuki <URL:mailto:don@na.rim.or.jp>
Attachments (1)
ruby-parser.y-1.451-in.diff
(755 Bytes, text/x-diff)
--- parse.y 19 8 2006 12:58:33 +0900 1.451
+++ parse.y 19 8 2006 13:45:05 +0900
@@ -588,7 +588,7 @@ static void ripper_compile_error(struct
%nonassoc tLBRACE_ARG
%nonassoc modifier_if modifier_unless modifier_while modifier_until
-%left keyword_or keyword_and
+%left keyword_or keyword_and keyword_in
%right keyword_not
%nonassoc keyword_defined
%right '=' tOP_ASGN
@@ -1025,6 +1025,14 @@ stmt : keyword_alias fitem {lex_state =
;
expr : command_call
+ | expr keyword_in expr
+ {
+ /*%%%*/
+ $$ = call_op($3, rb_intern("include?"), 1, $1);
+ /*%
+ $$ = dispatch3(binary, $1, ripper_intern("in"), $3);
+ %*/
+ }
| expr keyword_and expr
{
/*%%%*/