Ruby ビギナーのための CGI 入門
どうもAS3は自分にあってないようなので、唐突にRuby、というかWebアプリケーションの勉強を始めます。
ど素人なのでまずはRubyist MagazineのRuby ビギナーのための CGI 入門を5回までやった。
http://jp.rubyist.net/magazine/?0011-CGIProgrammingForRubyBeginners
チュートリアルの感想。
- CGIもrubyもほぼ素人レベルを想定してるのか、解説が丁寧でわかりやすい。
- RDEは便利。ちょっとしたスクリプトをファイルを保存しないで試せるのがよい。
- server.rbっていうWEBrickを使ったWebサーバが入ってて、ローカルですぐCGIが試せるようになってるのがうれしい。
- わかりやすさを重視してるのか、わりとRubyっぽくない書き方が多い気がする。
例えば、http:/jp.rubyist.net/magazine/?0015-CGIProgrammingForRubyBeginners-2#l5の
ファイルの中身を逆順に表示する部分ですが、
f = File.open("bbs.dat","r") arr = [] l = f.gets while l arr << l l = f.gets end f.close i = arr.length - 1 while i >= 0 print arr[i] i = i - 1 end
自分のRuby知識で書き直すとこんな感じ?もっとカッコよく書けそうだなー。
arr = [] File.open("bbs.dat","r") do |f| f.each_line { |l| arr << l end end arr.reverse.each do |l| print l end
ブロックとメソッドチェーンが楽しい。
後、メソッドの直後の{をブロックと勘違いされるところがちょっと気持ち悪かった。
puts 1.class puts "Hello, world!".class puts [1, 2, 3].class puts {"k1" => "v1", "k2" => "v2" }.class # この行だけエラー。syntax error, unexpected tASSOC, expecting '}' puts({"k1" => "v1", "k2" => "v2" }.class) # ()つければ大丈夫。