タグ

ブックマーク / melborne.github.io (5)

  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

  • チルダがRubyのヒアドキュメントをもっと良くする

    Rubyのヒアドキュメントは便利です。複数行に渡る整形文章を出力するときに、これを使わない手はありません。 class ATool def self.help lines = <<EOS Instruction of `#{self}` `#{self}` is one of a great tool in the world. This helps you a lot on your daily work. Your life will be changed with `#{self}`!! Everyone knows about `#{self}`. So, You can ask them to learn `#{self}` Just Use `#{self}` from Today! EOS lines end end puts ATool.help # >> Instruct

    maangie
    maangie 2015/04/29
  • あなたのプロジェクトを美しく視覚化する

    (追記:2013-11-01) DirFriendのバージョンアップについての記事を書きました。 あなたはファイルシステムに美を見るか? プロジェクトにおけるディレクトリ構造をさっと把握したいという欲求があります。そういうときは通常treeします。 % bundle gem gem_project -bt % tree gem_project gem_project ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── bin │   └── gem_project ├── gem_project.gemspec ├── lib │   ├── gem_project │   │   └── version.rb │   └── gem_project.rb └── spec ├── gem_project_spec.rb └

  • Rubyのシンボルは文字列の皮を被った整数だ!

    Yugui著「初めてのRuby」を読んでいる。自分はこのの想定する対象読者ではない。このの対象読者は他言語プログラマだ。自分はRubyしか知らない、Rubyのこともまだ少ししか知らないアマチュアプログラマだ。 けれども、このの内容は自分にとって極めて有益だ。初学者向けにありがちな方便としての「ウソ」がない。ちゃんと理解が書かれている。読者を事実に導こうとする努力がある。大見出しこそ他書と差はないが一歩小見出しに入れば、他ではお目にかかれないような表題が満載で、その内容の多くが知ってはいるけど正しく理解していなかったものばかりだ。 動く疑似コード、DSL、処理系と実行環境、実行モデル。shebang、リソース管理、コールバック、添字代入の裏側。Enumerator、型と自動変換、バックラッシュ記法、Unicode文字。バッククォート文字列、文字リテラル、シンボルの性質と用途。マルチバイ

    maangie
    maangie 2012/10/17
  • これからRubyを始める人たちへ

    (追記:2012-12-03) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する

    maangie
    maangie 2012/04/11
    「まずRubyをinstallする必要がありますが、もしあなたがWindows PCしか持っていないならそれを質に入れて、13''inch MacBook Airを買ってください」(´・_・`)
  • 1