Contenu connexe
Plus de Keisuke Hata (20)
Are You Enjoy Ruby 1 Day
- 2. Rubyの魅力:IO編
• Rubyは、IO処理が非常に得意。
テレーターという概念で、あっという間に
IO処理ができちゃいます。
readlines()の後に”.”をつけて,テレーターで回しているのがポント。
readlines()で配列を受け取ってから、回さなくてもいいのです。
配列が入っているのだから、そのままテレーターで要素分処理してしまえ
ばいいんです。仮にテキストが空でも[]のように空の配列が返ってくるので
エラーになることはないです。
- 3. IO処理で、簡単にテキスト処理
• こんなに簡単にIO処理ができるなら、
ちょっとしたテキスト処理は、ワンラナーで
書いちゃいましょう!!これがRubyの魅力。
数値が記入された、改行区切りのテキストを読み込んで、同じ値は、カット
し、さらにソートした状態の配列を返す処理です。受け取った配列を出力すると
これをC言語で1分で書けますか?
Rubyならかけてしまいます。
ワンライナー:1行だけのプログラム
- 6. あなたは、フゔルですか?
デゖレクトリですか?
• フゔルやデゖレクトリを処理する時に、それがフゔ
ルかデゖレクトリか知りたい時があります
あんたは、file? , directory?それが知りたい時です。
ならそのまま書いて下さい。
Rubyなら思ったことが
そのままコードにおこせます。
書けちゃいます!!
- 7. もっと素直に聞きたい。
あなたは、何ですか?
• さっきのコードでも、C言語になれてきた方は、
衝撃的だと思いますが、もっと衝撃を。。。
Rubyでは組み込みクラスをユーザーが改良できちゃいます。
Stringクラスに
file?とdirectory?
を追加しました。
これで “文字列”.file?って感じで
あなたは誰ですか?をそのまま
書くことができちゃうわけです。
- 8. IOは、深い。。。
• IOは、今日紹介しただけでなく、調べていくと、
もっと深い仕組みになっています。
そんな時は、リフゔレンスが役に立つでしょう。
参考)Rubyリフゔレンスのページ
http://elbereth-hp.hp.infoseek.co.jp/ruby.html
http://elbereth-hp.hp.infoseek.co.jp/files/ruby/ruby-man-1.4.6-en-htmlhelp.lzh
• Vimなんかは、Refe入れると、vim上でリフゔレンス引けた
りしてかなり幸せですが、Emacsとかも似たようなものが
あるのかもしれませんね。
• KeyHHなんかも入れておくと、調べたい単語の上でキーを押
せばリフゔレンスが立ち上がったりして、スーパー便利です。
参考)id:secondlifeさんのページ
http://subtech.g.hatena.ne.jp/secondlife/20061225/1167024736