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を返した方がいいと思いました。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- 初音ミクの曲(動画)個人的な十選(2009.02.15)
- 2008年ニコニコ動画個人的ベスト10(2008.12.06)
- menucomplete.msのクラスメンバ補完を強化する(2008.07.21)
- ctagsをWin32環境でビルドする(2008.07.21)
- EeePC901の初期設定(2008.07.21)
この記事へのコメントは終了しました。
コメント