« iPod touch使ってみました | トップページ | iPhone/iPod touch用SDKを2月に提供、ネイティブアプリ開発が可能に - Engadget Japanese »

Rubyの問題をやってみました

Life is beautifulさんの教えながら学ぶRuby:イテレータに片思いというエントリに、面白そうな問題があったのでやってみました。

一つ目のメッセージを出すメソッドは、可読性を考えるとヒアドキュメントを使うのが良いでしょうね。

def hello(to, *mesg)
  print <<END
Hello, #{to}.
-- message --
#{mesg.join("\n")}
END
end
こうかな。あ、ブロック使ってなかった…まあ、こういうのもあるということで。
二つめはinjectですかねえ。こういうときには便利ですね。

def fact(n)
  return (1..n).inject(1) {|f, i| f*i}
end

追記…他の方の投稿を見たら、ほとんど同じように書いてる方がいました。Rubyやってる人ならだいたいこういう考え方をするのかな。
二番目のについては、元の関数とは挙動が変わってしまいますが、実際にはマイナスのnにはnilを返した方がいいと思いました。

|

« iPod touch使ってみました | トップページ | iPhone/iPod touch用SDKを2月に提供、ネイティブアプリ開発が可能に - Engadget Japanese »

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/1789/16660058

この記事へのトラックバック一覧です: Rubyの問題をやってみました:

« iPod touch使ってみました | トップページ | iPhone/iPod touch用SDKを2月に提供、ネイティブアプリ開発が可能に - Engadget Japanese »