[#39699] デーモン・プロセスの作り方 — "Mitsuyasu Ichimura" <mitsuyasu@...>
こんにちは、市村と申します。
27 messages
2004/06/01
[#39702] Re: デーモン・プロセスの作り方
— Hidetoshi NAGAI <nagai@...>
2004/06/01
永井@知能.九工大です.
[#39710] Re: デーモン・プロセスの作り方
— Masayoshi Takahashi <maki@...>
2004/06/01
高橋征義です。宣伝モードです(_o_)
[#39711] Re: デーモン・プロセスの作り方
— nobu.nakada@...
2004/06/01
なかだです。
[#39721] Re: デーモン・プロセスの作り方
— Masayoshi Takahashi <maki@...>
2004/06/02
高橋征義です。
[#39725] Re: デーモン・プロセスの作り方
— OHARA Shigeki <os@...>
2004/06/03
大原です。
[#39732] Re: デーモン・プロセスの作り方
— Masayoshi Takahashi <maki@...>
2004/06/03
高橋征義です。
[#39757] MacのIEだとcgi.rbのmultipartがおかしいときがある — "fuji@..." <fuji@...>
藤岡と言います。
9 messages
2004/06/15
[#39758] Re: MacのIEだとcgi.rbのmultipartがおかしいときがある
— Wataru Gotoh <gotow@...>
2004/06/15
後藤@北の方といいます。
[#39768] cygwin版 ruby1.8でPStore使用時のエラー — ikezawa@... (ikezawa)
池澤と申します。
5 messages
2004/06/19
[#39775] Hiki の脆弱性に関する注意喚起 — Kazuhiko <kazuhiko@...>
かずひこです。
7 messages
2004/06/20
[#39777] Re: Hiki の脆弱性に関する注意喚起
— SASADA Koichi <ko1@...>
2004/06/21
Kazuhiko <kazuhiko@fdiary.net> wrote :
[ruby-list:39707] Re: 最後だけが
From:
rubikitch <rubikitch@...>
Date:
2004-06-01 13:50:51 UTC
List:
ruby-list #39707
From: Fujisaki <fujisaki@elf.coara.or.jp>
Subject: [ruby-list:39705] 最後だけが
Date: Tue, 1 Jun 2004 21:56:22 +0900
るびきちです。
> puts list が巧くいきません。
> 最後の1行だけがでます。
「巧くいきません」とはどういう処理がしたくてどういう結果が欲しいのですか?
> #!/usr/local/bin/ruby
> #
> list = []
> Filename = "eki.d"
> fd = open(Filename)
> while (st_list = fd.gets) ←*
> list << st_list ## sotoni
> end
> fd.close
(snip)
> # 線 駅を分けるが ダメ
> # 最後の1行だけ 何故か判らない
> for list in split(' ')
> puts list
> end
>
split(' ')は$_.split(' ')のことです。$_は*のgetsで読み込んだ行が格納さ
れています。最後に読み込んだ行が$_に格納されているため、そういう結果に
なるのです。Ruby的にはあまり$_に頼らない方がいいと思います。わかりにく
いので。Rubyの場合処理の対象(レシーバ)と処理(メソッド)が組になって
いるので処理が明確です。
あ、もしかして、スペースで区切られたそれぞれの要素を1行1行表示したいの
でしょうか?ならばこれでしょうか? 実質一行です。
Filename = "eki.d"
puts File.read(Filename).split(/\n/).collect{|list| list.split(' ')}
File.readでファイルの内容を丸ごと文字列として読み込み(自動でクローズもして便利)、
その文字列をsplit(/\n/)で改行ごとに区切るとそれぞれの行が格納された配列が返り、
その配列の要素各々において(1つ1つの要素をlistという変数にすると)、
list.split(' ')でスペースで区切ります。
この時点で配列の配列ができあがっています。
それをputsで出力するとその配列の配列の要素を1行ずつ表示します。
この際、自動でArray#flattenがかかっていると考えるとわかりやすいかもしれません。
また、ファイルの内容をそのまま表示するだけなら、
File.read(Filename).display
あるいは
print File.read(Filename)
だけでできてしまいます。
ここまで書いてみましたが、冒頭に言ったようにどういう処理がしたくて、ど
ういう結果が欲しいのかが読み取れなかったので期待している結果ではないか
もしれません。
なお、ここに出てきたメソッドはすべて基本的なものなので自由自在に使いこ
なせるようになりましょう。
るびきち☆
http://www.rubyist.net/~rubikitch/ ←Ruby大衆化計画@移転