タグ

ブックマーク / keyesberry.hatenadiary.org (4)

  • Rubyでアナグラムしようよ - hp12c

    アナグラム(anagram)をご存知ですか? アナグラムは単語や文の文字を入れ替えて 別の意味を持った単語や文を作る遊びです 例えば"note"には"tone" "master"には"stream"というアナグラムがあります もちろん日語アナグラムもあります "タモリ"は"モリタ"のアナグラムです "いきるいみなんて"と"みんないきている"は 一見哲学的問答に見えますが これもアナグラムなんです:) 少しやって頂ければ分かりますが アナグラムを見つけるのは意外と難しいです 試しに"friend" と"setter"と"resort"のアナグラムを それぞれちょっと考えてみてください (答え)*1 そんなわけで.. Rubyにアナグラムを見つけてもらいましょう RubyでAnagramを作る 指定の英単語に対する 複数のアナグラムを見つけるプログラムを考えます こんな感じです find_a

    Rubyでアナグラムしようよ - hp12c
    seuzo
    seuzo 2011/12/06
  • + (足す)から始めるRuby - hp12c

    数学の世界で + は演算子である 5歳の子供でもそれを知っている そして私やあなたが老いて死にゆくまで + は演算子であり そこに疑念の入る余地はない プログラミングの世界でもふつう + は演算子である CでもJavaでもPerlでも + は演算子であり それ以上でもそれ以下でもない ところが驚くべきことに Rubyの世界では + は演算子ではないのである 嘘だと思うなら エディタを立ち上げて*1 次のようにしてみるといい class Fixnum def +(other) Integer("#{self}"+"#{other}") end end 1 + 2 # => 12 123 + 456 # => 123456 あなたは今 Fixnum#+ メソッドを再定義した そうしたら1 + 2は12という答えを返した そうRubyの世界で + は演算子ではなく ユーザが再定義可能な ひとつの

    + (足す)から始めるRuby - hp12c
    seuzo
    seuzo 2011/08/10
  • Rubyのシンボルは文字列の皮を被った整数だ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyのシンボルは文字列の皮を被った整数だ! : melborne.github.com - Yugui著「初めてのRuby」を読んでいる 自分はこのの想定する対象読者ではない このの対象読者は他言語プログラマだ 自分はRubyしか知らない Rubyのこともまだ少ししか知らないアマチュアプログラマだ けれどもこのの内容は自分にとって極めて有益だ 初学者向けにありがちな方便としての「ウソ」がない ちゃんと理解が書かれている 読者を事実に導こうとする努力がある 大見出しこそ他書と差はないが 一歩小見出しに入れば 他ではお目にかかれないような表題が満載で その内容の多くが知ってはいるけど 正しく理解していなかったものばかりだ 動く疑似コード、DSL、処理系と実

    Rubyのシンボルは文字列の皮を被った整数だ! - hp12c
  • ApplescriptとRubyでもう僕は移動しない - hp12c

    忙しい社会では無駄な労力というのはとても嫌われます そしてコンピュータネットワークの発達した現代では 「移動」は無駄な労力の1つとみなされています ネット世界の住人は特に移動を嫌います 物を買うにも友と語らうにも移動を避けます 移動は無駄に時間を消費するからです そう現代ではマウスクリック1つで問題は解決するのです ところが彼らの中にはそれでは満足できない一群がいました 彼らは言うのです 「マウスに腕を伸ばすのも時間の無駄である」 極論ですが一理あります 確かにマウスの使用は腕の移動を伴います そんなわけでGUIに完全に制圧されたこの世界でも キーボードだけで何とか事を解決しようと試みる人たちはいます 彼らはQuickSilverでアプリを立上げ VimEmacsでエディットし Vimperatorでブラウズし livedoorReaderでブログを読み Termtterでツウィットし

    ApplescriptとRubyでもう僕は移動しない - hp12c
  • 1