- ベストアンサー
「たのしいRuby」は読み終わりましたが、コードも読めないしあまり書け
「たのしいRuby」は読み終わりましたが、コードも読めないしあまり書けません。2冊目に読む本かサイトを探していまいす。どなたかしっている方がいらしたら教えてください。よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Rubyっぽいコードに不慣れということでしたら、まさにそのための本『初めてのRuby』はどうでしょうか。
その他の回答 (4)
- tsuduki123
- ベストアンサー率32% (21/65)
rubyにかぎらず自分でコーディングできるのならば 後は、慣れの問題でしょうから perlで書いたものとかをrubyに移植してみるなんてのがいいんじゃないですかね。 あとは最近はさみしく閑古鳥がないてますが「どう書く?.org」という サイトで投稿されたソースを解析してみるとかどうでしょう?
- garusu
- ベストアンサー率33% (2/6)
#1です. 訂正: output.puts "#{matched[1]},#{matched[2]},#{matched[3]}" これを puts "#{matched[1]},#{matched[2]},#{matched[3]}" としてください. すみません.
- tsuduki123
- ベストアンサー率32% (21/65)
ただ文法がわからないだけなのか、 それとも、アルゴリズムの組み立てができないのか。 それによっても変わってきますが、文法がわからないというだけの理由であれば マニュアルを読むといいかと思いますよ。 公式サイトに行けばDLできますし、 FAQを読むだけでもだいぶ違うのではないかなと。 ん~、昔は公式サイトにチュートリアルがあったはずなのですけど いつの間にか無くなってしまってますねぇ あれ。とってもわかりやすかったのですが。。。
- 参考URL:
- http://www.ruby-lang.org/ja/
補足
Perlは人並みにできるので文法が分からないというより、Rubyになれてないという感じです。ちょうどいい本とかサイトがないんですよね。
- garusu
- ベストアンサー率33% (2/6)
こんにちは, ruby初心者がいうのもなんですが,新しい言語を学んで行き詰ったら その言語の正規表現を学ぶようにしています. マッチした個所を抽出するスクリプト perl: my $str = "abc,def,ghi"; ($a,$b,$c) = $str =~ /(.*),(.*),(.*)/; print $a,"\n"; print $b,"\n"; print $c,"\n"; ruby: str = "abc,def,ghi" if matched = /(.*),(.*),(.*)/.match(str) then output.puts "#{matched[1]},#{matched[2]},#{matched[3]}" #matched[0]にはstrが入ってるみたいです end あんまり書くとたたかれるので辞めますが,たぶんこれであってるはず. もしくは,他の言語(たとえばCとかC++)で書いたプログラムを rubyでもういちど書き起こしてみるとかされてみてはどうでしょうか? 本は辞書的に使うべきだと思います.(特にプログラミングなどは)
補足
確かに正規表現は奥が深いですが、入りやすいですよね。例題が山ほどありますから。ありがとうございます。
お礼
著者ご本人からのご推薦では、読まないわけにはいきませんね。ありがとうございます。