From: "井上 浩一" <kyoui32 / hotmail.com>
Subject: [ruby-list:34552] Re: 1.7 に関して
Date: Fri, 22 Mar 2002 12:28:14 +0900

るびきちです。

> >Marshalは、1.6の最中にバグにより「読めるべきなのに読めない」
> Marshal.dumpでエラーが起きていたのは、トラブっていたということですね。原因が
> わかって助かります。
> マーシャル諸島しか知らない、Ruby末端者は Marshal.dumpのバグ取りができませ
> ん。(泣
俺もこれが怖くてPStore(内部でMarshal使用)は敬遠気味だったり:-)
インターフェースがとても使いやすいだけに。

保存するのが文字列onlyの場合は行をナニかでsplitしては構造体にくるめたりしています。
この使い方を思い付いて、Rubyの構造体好きになりました。

irbsh[23@02:27](main):088:0> 
#### MULTI-LINE BEGIN ####
def read_from_file( io )
  st = Struct.new( "ST", :name, :no )
  io.collect do |line|
    st.new( *line.chomp.split(/\t/) )
  end
end

ary = read_from_file <<END
foo	1
bar	3
baz	7
END
#### MULTI-LINE END ####
[#<Struct::ST name="foo", no="1">,
 #<Struct::ST name="bar", no="3">,
 #<Struct::ST name="baz", no="7">]
irbsh[23@02:27](main):089:0> ary[0].no
"1"
irbsh[23@02:27](main):090:0> ary[0].name
"foo"
irbsh[23@02:27](main):091:0> ary[0].no = 10
10
irbsh[23@02:27](main):092:0> ary[0]
#<Struct::ST name="foo", no=10>

CGIのデータ保存は1行1レコードにして項目(名前、メールアドレスなど)を "<>" で
区切ればいいでしょう。2ちゃんねるのdat形式。

> >|3)名前付きパラメータ
Hashを引数とするのじゃだめですか?
これがあれば俺個人としては必要十分です。

> Rubyに対する細かい規則などは、末端Rubyistには、理解できない部分があります。
> インターネットのRFCが有るように、RubyのRFC  ruby-rfcが有れば、ライブラリ作成
> 者などコードを記述する際の指針になると思います。
ライブラリのコーディングスタイルですか?
コメントの使い方とかなど(あわよくば命名規則のガイドラインとか)。
確かにある程度決めていれば嬉しいかもしれませんね。
EmacsLispがいろいろ決められているように。
決まったスタイルで統一できればそれ用のツールも作れると。

http://www.jin.gr.jp/~nahi/RWiki/index.cgi?cmd=view;name=RubyCodingConvention
なんてページがありますね。

> 今Rubyに必要なのは、ドキュメントだと思いますが、私のような初心者向けには 
> ruby-faqを、ライブラリ作者には ruby-rfcなど参考にできる
> 体制が欲しいです。
あなたはきっとリファレンスマニュアルをちゃんと読んでませんね。
チュートリアル、ユーザーズガイド、FAQ、MLトピックス見てください。
ドキュメントが足りないのは数年前までの話です。
あの情報量はすごいです、Ruby界の自慢の一つ。
これだけの情報があればたいていの問題は解決できるはず。
http://www.ruby-lang.org/ja/doc.html
http://www.ruby-lang.org/ja/man-1.6/

誰でも書き換えられるRWikiだから気付いた点があればすぐに書き加えられる。
気付いた点、(たとえ自分にとってだけだったとしても)新しい使い方の発見などが
あったら勝手に書き加えてください。


ただ、そうなるためには編集しやすい環境が必要ですね。
rwiki-mode.el作りに挑戦してみます。 > rubyist MLな人たち
だれか作ろうと思った人いませんか?
RDブラウザ機能をrd-mode.elに追加しなくては。


るびきち☆
http://voo.to/ruby/ ←Ruby大衆化計画(笑)