Hatena::Grouprubyist

Rubyをラクガク(正規表現編) RSSフィード

2006-06-08制御構造とか

[]if/unless 02:28 if/unless - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク - if/unless - Rubyをラクガク(正規表現編) if/unless - Rubyをラクガク(正規表現編) のブックマークコメント

if 式は、条件が成立した節(あるいは else 節)の最後に評価した式の結果を返します。else 節がなくいずれの条件も成り立たなければ nil を返します。

ifが値を返すっていうのが面白いなぁと思って試してみたら…

=begin
a = (if true then 1) # syntax error
p a

a = (if false then 1) # syntax error
p a

if false then 1 elsif 2 # syntax error
p a
=end

a = (1 if false)
p a

a = (1 if true)
p a

a = (1 unless false)
p a

a = (1 unless true)
p a
nil
1
1
nil

if 修飾子unless 修飾子は確かに値を返しているんだけど、if/unlessはエラーなっちゃう。はて?

[]case 03:11 case - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク - case - Rubyをラクガク(正規表現編) case - Rubyをラクガク(正規表現編) のブックマークコメント

上から===で評価されていくらしい。

def use_case(arg)
        case arg
        when 1,2
                "one or two"
        when 3,4
                "three or four"
        else
                "many"
        end
end

p use_case(1)
p use_case(2)
p use_case(3)
p use_case(4)
p use_case(5)
"one or two"
"one or two"
"three or four"
"three or four"
"many"

breakとか使わないが良い。でもcaseとかwhenという言葉に馴染めなそう。

[][]唐突にRails 03:11 唐突にRails - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク - 唐突にRails - Rubyをラクガク(正規表現編) 唐突にRails - Rubyをラクガク(正規表現編) のブックマークコメント

インストールしてみた。

# gem install rails
Attempting local installation of 'rails'
Local gem file not found: rails*.gem
Attempting remote installation of 'rails'
Install required dependency rake? [Yn]
Install required dependency activesupport? [Yn]
Install required dependency activerecord? [Yn]
Install required dependency actionpack? [Yn]
Install required dependency actionmailer? [Yn]
Install required dependency actionwebservice? [Yn]
Successfully installed rails-1.1.2
Successfully installed rake-0.7.1
Successfully installed activesupport-1.3.1
Successfully installed activerecord-1.14.2
Successfully installed actionpack-1.12.1
Successfully installed actionmailer-1.2.1
Successfully installed actionwebservice-1.1.2
Installing RDoc documentation for rake-0.7.1...
Installing RDoc documentation for activesupport-1.3.1...
Installing RDoc documentation for activerecord-1.14.2...
Installing RDoc documentation for actionpack-1.12.1...
Installing RDoc documentation for actionmailer-1.2.1...
Installing RDoc documentation for actionwebservice-1.1.2...