[#5880] "Linux Journal Vol.6" carries an article on Ruby — Shin-ichiro HARA <sinara@...>

原です。

16 messages 1998/01/19
[#5881] Re: "Linux Journal Vol.6" carries an article on Ruby — matz@... (Yukihiro Matsumoto) 1998/01/19

まつもと ゆきひろです

[#5905] win and unix, and so on — TAKAHASHI Masayoshi <maki@...>

高橋と申します。はじめまして。しばらくROMしてました。

27 messages 1998/01/20
[#5906] Re: win and unix, and so on — matz@... (Yukihiro Matsumoto) 1998/01/20

まつもと ゆきひろです

[#5912] Re: win and unix, and so on — WATANABE Hirofumi <watanabe@...> 1998/01/20

わたなべです.

[#5922] Re: win and unix, and so on — Shin-ichiro HARA <sinara@...> 1998/01/20

原です。

[#5951] How to use TkMenu ? — Kikutani Makoto <kikutani@...>

きくたにです。

16 messages 1998/01/21
[#5952] Re: How to use TkMenu ? — matz@... (Yukihiro Matsumoto) 1998/01/21

まつもと ゆきひろです

[#6023] Comparison with Other Languages (Re: [python-ml-jp 54] Re: Reasons why I prefer to use Python) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

8 messages 1998/01/26

[#6055] Ruby連載 第3回 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

68 messages 1998/01/28
[#6057] Re: Ruby 連載 第 3 回 — Kikutani Makoto <kikutani@...> 1998/01/28

きくたにです。

[#6060] Re: Ruby 連載 第 3 回 — matz@... (Yukihiro Matsumoto) 1998/01/28

まつもと ゆきひろです

[#6073] Re: Ruby連載 第3回 — hisanori@... 1998/01/28

松尾です。こんばんは。

[#6089] Re: Ruby連載 第3回 — matz@... (Yukihiro Matsumoto) 1998/01/29

まつもと ゆきひろです

[#6119] man/date/time — Tadayoshi Funaba <tadf@...>

こんにちは、ちょっと訊きたいことがあります。

37 messages 1998/01/29
[#6128] lib/date.rb (Re: man/date/time) — matz@... (Yukihiro Matsumoto) 1998/01/30

まつもと ゆきひろです

[#6136] Re: man/date/time — keiju@... (石塚圭樹 ) 1998/01/30

けいじゅ@日本ラショナルソフトウェアです.

[#6155] Re: man/date/time — Tadayoshi Funaba <tadf@...> 1998/01/31

>すいません. ruby-devにだけポストしていました.

[ruby-list:5823] Re: Is ruby not able to treat 'nil' as 1st arugument for method call ?

From: matz@... (Yukihiro Matsumoto)
Date: 1998-01-08 02:28:33 UTC
List: ruby-list #5823
まつもと ゆきひろです

In message "[ruby-list:5822] Is ruby not able to treat 'nil' as 1st arugument for method call ?"
    on 98/01/08, Nobuyoshi Miyokawa <nmiyo@hic.co.jp> writes:

|  最近、ruby の便利さに感動している三代川と申します。

どーも.

|  ruby では、メソッドの第一引数へ nil を渡す事は、文法上禁じ
|られているのでしょうか?

いいえ.

|  以下のソースを試してみますと、

|1) Foo.bracket=(nil, 'foo') 行を有効にすると、parse エラーに
|   なる。

bracket=のような=で終るメソッドは

   foo.bracket=val

のような形式でしか呼び出せません.ですから,そのようなメソッ
ドを1引数以外で定義できますが,呼び出せません(sendとか以外で
は).

|2) Foo.new[nil]='foo' 行を有効にすると、[]= メソッドの第一引
|   数へ nil が渡る。

これは望ましい動きですよね.

|3) Foo.new[]='foo' 行を有効にすると ruby が core dump する (^^;

バグです.一応パッチをつけておきます.

|  ちなみに、本当にしたかった事は、
|
|    Hash[] の key が指定されなかった場合には、val 内の一定メ
|    ソッドを用いて key を自動計算する
|
|という事なのでした。

   def []=(key, val=nil)
     unless key
       key = some_method
     end
     @hash[key] = val
   end

なんてのはどうでしょう?

				まつもと ゆきひろ /:|)

--- parse.y~	Tue Jan  6 01:40:14 1998
+++ parse.y	Thu Jan  8 11:19:11 1998
@@ -3299,7 +3299,9 @@
     value_expr(val);
-    if (nd_type(idx) == NODE_ARRAY) {
-	idx = list_append(idx, val);
-    }
-    else {
-	idx = arg_add(idx, val);
+    if (idx) {
+	if (nd_type(idx) == NODE_ARRAY) {
+	    idx = list_append(idx, val);
+	}
+	else {
+	    idx = arg_add(idx, val);
+	}
     }

In This Thread