Ruby

gemのバージョンを指定してrequireする

こんにちは. Bundlerのあるこのご時世. あまり意味のないTipsかもしれませんが, バージョン指定でgemを使う方法を書いておきます. バージョンを指定してインストール gem install 名前 -v バージョン バージョンを指定してrequire gem "名前", "バージョン" …

ハッシュオブジェクトに特異メソッドを定義して拡張

こんにちは. 最近, こういうコードをたくさん書くんですよね. @count_val['val1'] ||= 0 @count_val['val2'] ||= 0 @count_val['val3'] ||= 0 # ... いわゆるnilカード. でも, いちいちこんなのを各プロパティごとに書くのは面倒くさい. そこで特異メソッド…

Rubyでメソッドのフック

Rubyでメソッドのフックをする方法をメモ. ここでいうフックとは,「実行するプログラムコードに対して割込み、処理を捕捉すること」と定義する. class Hoge def hello puts "hello!" end end # オープンクラス class Hoge alias_method :old_hello, :hello def…

RubyのMechanizeライブラリつかってみた

こんにちは. 知り合いの人が最近Rubyを始めたようです. かくいう僕はJavaScriptばっかり使ってて, このままじゃアカンと思い, 久しぶりにRubyを触ってみました. 触る動機づけにRubyのMechanizeライブラリを使ってみたのでそのまとめ.検証環境:OSX 10.7Ruby 1…

RubyでDSL書くときのちょっとした工夫?

ほっ・・・(意味なし) 最近、Rubyで内部DSLの設計を勉強しているkitakです。 DSLの設計でこうしたらいいんじゃね?と思ったのでご紹介。 こんなかんじのDSLを書くとする。 # coding: utf-8 class Link attr_accessor :band_width, :delay, :queue_size def initializ…

RubyでYahoo!の形態素解析APIをつかってみました

こんにちは。 最近,「集合知プログラミング」っていう本の第6章を試してみたくて,うずうずしていたkitakです。でも,この本,サンプルがPythonで書かれてるんですよね・・・ というわけで,まずはRubyの勉強がてら,日本語処理の書かれた付録Cのsplit関数をRubyで書いて…

略語を調べるスクリプトstand4を書きました

こんにちは。みなさんはプログラミングをするときに変数名, メソッド名を省略することがあると思います。source -> srcdistance -> distといった具合にです。 上の例は, よく使われるものですが, 自分で略語を考える場面も多々あるはずです。その略語が的を射た…