Are You Enjoy Ruby 1 Day

2,367 views

Published on

ruby社内講習会資料

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,367
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Are You Enjoy Ruby 1 Day

  1. 1. Rubyの魅力と使えるテクニック Part1 Written by Keisuke Hata
  2. 2. Rubyの魅力:IO編 • Rubyは、IO処理が非常に得意。 ゗テレーターという概念で、あっという間に IO処理ができちゃいます。 readlines()の後に”.”をつけて,゗テレーターで回しているのがポ゗ント。 readlines()で配列を受け取ってから、回さなくてもいいのです。 配列が入っているのだから、そのまま゗テレーターで要素分処理してしまえ ばいいんです。仮にテキストが空でも[]のように空の配列が返ってくるので エラーになることはないです。
  3. 3. IO処理で、簡単にテキスト処理 • こんなに簡単にIO処理ができるなら、 ちょっとしたテキスト処理は、ワンラ゗ナーで 書いちゃいましょう!!これがRubyの魅力。 数値が記入された、改行区切りのテキストを読み込んで、同じ値は、カット し、さらにソートした状態の配列を返す処理です。受け取った配列を出力すると これをC言語で1分で書けますか? Rubyならかけてしまいます。 ワンライナー:1行だけのプログラム
  4. 4. IO処理:glob(“*.*”)で幸せに • IO処理でよく使う操作。それは、デゖレクトリ 内のフゔ゗ルをマスクして処理すること。 • C言語などは、FindFirstFile()等で再帰処理を 書いて、ごにょごにょ・・・ さすがにこれは面倒ですよね・・・ そこで Dir.glob()の登場!!
  5. 5. Dir.glob()って何? • Dir.glob()とは、デゖレクトリ内のゕ゗テムを ワ゗ルドカードに従って展開し、配列化してく れます。 使い方もすごく簡単。 みての通り、すごく直感的に 書けちゃいますね。 さらにこのfileという要素をopen()に 渡して、さっきの例と組み合わせて、 テキスト処理を楽しく、簡単に!!
  6. 6. あなたは、フゔ゗ルですか? デゖレクトリですか? • フゔ゗ルやデゖレクトリを処理する時に、それがフゔ゗ ルかデゖレクトリか知りたい時があります あんたは、file? , directory?それが知りたい時です。 ならそのまま書いて下さい。 Rubyなら思ったことが そのままコードにおこせます。 書けちゃいます!!
  7. 7. もっと素直に聞きたい。 あなたは、何ですか? • さっきのコードでも、C言語になれてきた方は、 衝撃的だと思いますが、もっと衝撃を。。。 Rubyでは組み込みクラスをユーザーが改良できちゃいます。 Stringクラスに file?とdirectory? を追加しました。 これで “文字列”.file?って感じで あなたは誰ですか?をそのまま 書くことができちゃうわけです。
  8. 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

×