[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

こんにちは、なかむら(う)です。

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29586] Re: nil.to_s

From: Nobuyoshi Nakada <nobu@...>
Date: 2006-09-17 04:54:56 UTC
List: ruby-dev #29586
なかだです。

At Fri, 8 Sep 2006 01:01:06 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:29520]:
> あと、考えていることは

もうひとつ。

>   * 現在特別扱いしている「puts nil」と「puts ary」はどう振る
>     舞うべきか。
> 
>     例外を減らすならいずれも引数をto_sしたものを出力すべき。
>     「目に優しいdump」はあきらめる(そんな重要じゃないし)。
>     「puts ary」は「puts *ary」で代替。

IO#putsは変更されたようですが、IO#printが以前のままです。

  print *a

でaが空のときにnilと出力されるのはあまりうれしくないです。


Index: io.c
===================================================================
RCS file: /cvs/ruby/src/ruby/io.c,v
retrieving revision 1.418
diff -p -U 2 -r1.418 io.c
--- io.c	2 Sep 2006 14:42:06 -0000	1.418
+++ io.c	17 Sep 2006 04:49:43 -0000
@@ -3690,17 +3690,10 @@ rb_io_print(int argc, VALUE *argv, VALUE
     }
     for (i=0; i<argc; i++) {
-	if (!NIL_P(rb_output_fs) && i>0) {
+	rb_io_write(out, argv[i]);
+	if (!NIL_P(rb_output_fs)) {
 	    rb_io_write(out, rb_output_fs);
 	}
-	switch (TYPE(argv[i])) {
-	  case T_NIL:
-	    rb_io_write(out, rb_str_new2("nil"));
-	    break;
-	  default:
-	    rb_io_write(out, argv[i]);
-	    break;
-	}
     }
-    if (!NIL_P(rb_output_rs)) {
+    if (argc > 0 && !NIL_P(rb_output_rs)) {
 	rb_io_write(out, rb_output_rs);
     }


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread