[#6219] Ruby連載 第4話 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

32 messages 1998/02/04
[#6221] Re: Ruby連載 第4話 — Shin-ichiro HARA <sinara@...> 1998/02/04

原です。

[#6224] Re: Ruby連載 第4話 — Yasunari Momoi <conan@...> 1998/02/04

ももちゃん@あるもにこすです.

[#6225] Re: Ruby連載 第4話 — matz@... (Yukihiro Matsumoto) 1998/02/04

まつもと ゆきひろです

[#6249] Re: i++ — 助田 雅紀 <masaki.suketa@...>

助田です。

33 messages 1998/02/04
[#6252] Re: i++ — gotoken@... (GOTO Kentaro) 1998/02/05

ことけんです

[#6255] Re: i++ — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#6260] Re: i++ — Yuji Shigehiro <sigehiro@...> 1998/02/05

しげひろです.

[#6314] RE: ruby's design policy (Re: I'd like to subscr ibe this ML) — 助田 雅紀 <masaki.suketa@...>

オブジェクト指向周辺をぶらぶらしている助田です。

11 messages 1998/02/06

[#6333] ruby 流に添削して下さい — nkon@...2.3web.ne.jp

13 messages 1998/02/07
[#6335] Re: ruby 流に添削して下さい — OZAWA Sakuro <crouton@...> 1998/02/07

さくです.

[#6372] ruby 1.1b7 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

24 messages 1998/02/10
[#6402] parsedate (Re: ruby 1.1b7 released) — WATANABE Hirofumi <watanabe@...> 1998/02/13

わたなべです.

[#6405] Re: parsedate (Re: ruby 1.1b7 released) — Tadayoshi Funaba <tadf@...> 1998/02/13

ふなばです。

[#6407] Re: parsedate (Re: ruby 1.1b7 released) — matz@... (Yukihiro Matsumoto) 1998/02/13

まつもと ゆきひろです

[#6373] call for scripts — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

133 messages 1998/02/10
[#6414] Re: call for scripts — Terutuoshi Kaneshiro <k-teru@...06.odn.ne.jp> 1998/02/14

金城です.

[#6428] Re: call for scripts — matz@... (Yukihiro Matsumoto) 1998/02/16

まつもと ゆきひろです

[#6448] Re: call for scripts — Terutuoshi Kaneshiro <k-teru@...06.odn.ne.jp> 1998/02/16

金城です.

[#6452] Re: call for scripts — matz@... (Yukihiro Matsumoto) 1998/02/17

まつもと ゆきひろです

[#6481] Re: call for scripts — Kikutani Makoto <kikutani@...> 1998/02/17

きくたに@ぷ〜たろ〜です。

[#6483] Re: call for scripts — OZAWA Sakuro <crouton@...> 1998/02/17

さくです.

[#6495] Re: call for scripts — WATANABE Hirofumi <watanabe@...> 1998/02/18

わたなべです.

[#6416] Re: call for scripts — shugo@... (Shugo Maeda) 1998/02/14

前田です。

[#6417] rgrep (Re: call for scripts) — shugo@... (Shugo Maeda) 1998/02/15

前田です。

[#6423] Re: rgrep (Re: call for scripts) — matz@... (Yukihiro Matsumoto) 1998/02/16

まつもと ゆきひろです

[#6612] Re: call for scripts — Tadayoshi Funaba <tadf@...> 1998/02/21

ふなばです。

[#6582] File::Separator on cygwin — OZAWA Sakuro <ozawa@...>

小澤さくです。

19 messages 1998/02/20
[#6583] Re: File::Separator on cygwin — WATANABE Hirofumi <watanabe@...> 1998/02/20

わたなべです.

[#6586] Re: File::Separator on cygwin — OZAWA Sakuro <ozawa@...> 1998/02/20

小澤さくです。

[#6591] ruby 1.1b8 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

32 messages 1998/02/20
[#6620] rbc.rb and binding — shugo@... (Shugo Maeda) 1998/02/22

前田です。

[#6629] Re: rbc.rb and binding — keiju@... (石塚圭樹 ) 1998/02/23

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

[#6643] Re: rbc.rb and binding — shugo@... (Shugo Maeda) 1998/02/23

前田です。

[#6649] Re: rbc.rb and binding — keiju@... (石塚圭樹 ) 1998/02/23

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

[#6650] Re: rbc.rb and binding — matz@... (Yukihiro Matsumoto) 1998/02/23

まつもと ゆきひろです

[#6667] JRI 0.5 worked (was Re: rbc.rb and binding) — OZAWA Sakuro <crouton@...> 1998/02/23

さくです.

[#6687] Re: JRI 0.5 worked (was Re: rbc.rb and binding) — shugo@... (Shugo Maeda) 1998/02/24

前田です。

[#6712] JRI and JDBC — OZAWA Sakuro <ozawa@...> 1998/02/24

小澤さくです。

[#6635] hello — WATANABE Tetsuya <tetsu@...>

渡辺哲也と申します。

15 messages 1998/02/23

[#6706] Re: Counter class — toyofuku@...

豊福@パパイヤです。

12 messages 1998/02/24

[#6735] Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda)

前田です。

27 messages 1998/02/24
[#6746] Re: Mutex/ConditionVariable/Queue — keiju@... (石塚圭樹 ) 1998/02/25

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

[#6747] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/25

前田です。

[#6752] Re: Mutex/ConditionVariable/Queue — senda@... 1998/02/25

From: shugo@po.aianet.ne.jp (Shugo Maeda)

[#6754] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/25

前田です。

[#6756] Re: Mutex/ConditionVariable/Queue — senda@... 1998/02/25

From: shugo@po.aianet.ne.jp (Shugo Maeda)

[#6786] Re: Mutex/ConditionVariable/Queue — senda@...

From: shugo@po.aianet.ne.jp (Shugo Maeda)

33 messages 1998/02/26
[#6791] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/26

前田です。

[#6794] Re: Mutex/ConditionVariable/Queue — shugo@... (Shugo Maeda) 1998/02/26

前田です。

[#6796] Re: Mutex/ConditionVariable/Queue — keiju@... (石塚圭樹 ) 1998/02/26

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

[ruby-list:6841] Re: http_get.rb

From: 青山 和光 <PXN11625@...>
Date: 1998-02-28 00:02:45 UTC
List: ruby-list #6841
In-Reply-To: [ruby-list:6825] Re: http_get.rb

古谷さん、はじめまして。
(もしかすると NIFTY の方でコメントを交わした事があるかもしれませんが)

自宅療養とは大変ですね。お大事に。

>>[ruby-list:6825] Re: http_get.rb
>>From: FURUTANI Shun-ichi <sf@x.age.ne.jp>
>>
>> HTTPでは改行はCRLFでありますから、
>>sock.print "GET #{file} HTTP/1.0\r\n\r\n"
>> としたほうがいいでしょう。

そうなんですよね。私も気にしていたのですが、あまり綺麗な感じがしないの
で、とりあえず動くままで使っていました。しかし、正しくないものをほって
おくわけにもいかないので、綺麗な書き方になる方法を考えてみました。

$\ のデフォルトの値を変更するというのはいかがでしょうか?

puts があるので $\ はほとんど(まったく?)使われていないと思われるので、
実害はおそらく無いと思います。それで、何をしたいかというと、print は
$\ の値に関係なく改行は出力しない。puts は改行ではなく、$\ を付加して
出力するようにしたいのです。

このようにして、$\ のデフォルトを "\n" にしておけば、デフォルトの動作
はいままで通りで、$\ = "\r\n" をセットすれば、puts で綺麗に CR+LF を出
力できるようになります。

さらに、それだけでは puts "aaa\n" の出力が "aaa\n\r\n" になってしまい、
使いにくいので、もし最後が $/ と同じであれば、それは削除するというので
いかがでしょうか。

簡単な動作検証しかしていませんが、結構使い勝手は良さそうです。パッチを
つけますが、例によって長い行は NIFTY 側で余計な改行が入ってしまいます。
見てすぐわかるところですし、1行だけなので、つないでからあてて下さい。

また、C を使ったのは本当に久しぶりなので、一応動作はしているものの、記
述のしかたはあまりきれいではないかもしれません。


*** io.c.org	Sat Feb 28 06:18:07 1998
--- io.c	Sat Feb 28 08:40:47 1998
***************
*** 1297,1305 ****
  	    break;
  	}
      }
-     if (!NIL_P(ORS)) {
- 	io_write(out, ORS);
-     }
  
      return Qnil;
  }
--- 1297,1302 ----
***************
*** 1324,1330 ****
  
      /* if no argument given, print newline. */
      if (argc == 0) {
! 	io_write(out, str_new2("\n"));
  	return Qnil;
      }
      for (i=0; i<argc; i++) {
--- 1321,1327 ----
  
      /* if no argument given, print newline. */
      if (argc == 0) {
! 	io_write(out, ORS);
  	return Qnil;
      }
      for (i=0; i<argc; i++) {
***************
*** 1341,1351 ****
  	    line = argv[i];
  	    break;
  	}
  	line = obj_as_string(line);
  	io_write(out, line);
! 	if (RSTRING(line)->ptr[RSTRING(line)->len-1] != '\n') {
! 	    io_write(out, str_new2("\n"));
! 	}
      }
  
      return Qnil;
--- 1338,1355 ----
  	    line = argv[i];
  	    break;
  	}
+ 	for (j=0; j<RSTRING(RS)->len; j++) {
+ 	    if (RSTRING(line)->ptr[RSTRING(line)->len - RSTRING(RS)->len + j] 
!= RSTRING(RS)->ptr[j]) { break; }
+ 	}
+ 	if (j == RSTRING(RS)->len) {
+ 		for (j=0; j<RSTRING(RS)->len; j++) {
+ 			RSTRING(line)->len--;
+ 		}
+ 		RSTRING(line)->ptr[RSTRING(line)->len] = '\0';
+ 	}
  	line = obj_as_string(line);
  	io_write(out, line);
! 	io_write(out, ORS);
      }
  
      return Qnil;
***************
*** 2318,2324 ****
      rb_define_hooked_variable("$-F", &FS, 0, rb_str_setter);
      rb_define_hooked_variable("$,", &OFS, 0, rb_str_setter);
  
!     RS = RS_default = str_new2("\n"); ORS = Qnil;
      rb_global_variable(&RS_default);
      rb_define_hooked_variable("$/", &RS, 0, rb_str_setter);
      rb_define_hooked_variable("$-0", &RS, 0, rb_str_setter);
--- 2322,2328 ----
      rb_define_hooked_variable("$-F", &FS, 0, rb_str_setter);
      rb_define_hooked_variable("$,", &OFS, 0, rb_str_setter);
  
!     RS = RS_default = str_new2("\n"); ORS = str_new2("\n");
      rb_global_variable(&RS_default);
      rb_define_hooked_variable("$/", &RS, 0, rb_str_setter);
      rb_define_hooked_variable("$-0", &RS, 0, rb_str_setter);


青山 和光 Wakou Aoyama <pxn11625@niftyserve.or.jp>

In This Thread

Prev Next