Ruby Tips!

RubyのTipsを紹介します

2014-04-06から1日間の記事一覧

Marshalで配列やハッシュをディープコピーする

Object#dupやObject#cloneで配列やハッシュを複製すると、配列やハッシュ自体は複製されるがその要素までは複製されない。これはシャローコピー(浅いコピー)と呼ばれる。以下は配列を複製した時に、元の配列の要素を破壊的に変更すると、複製した配列にも影…

Rubyのリテラルについて

数値 数字を並べると数値となる。 1234 -1234 数値にはアンダーバーを含めることができる。 1_000_000 接頭詞を付けると10進数以外の数値も表記できる。 0b1010 0o7070 0d9090 0xF0F0 小数点をつけると数値は小数となる。 0.1 小数は仮数部e指数部と表記する…

fileutilsでファイルの操作のドライランをする

ファイル操作を行うfileutilsライブラリのメソッドは、オプションを指定することで、実際の操作は行わず、何を行うのかを出力(ドライラン)することができる。:noopは実際の操作は行わないようにするオプションで、:verboseは何を行うのかUNIXコマンドの形式…

ハッシュのキーになるクラスを定義する

あるクラスのオブジェクトがハッシュのキーになるためには、Object#hashとObject#eql?が適切に再定義されていなければならない。ハッシュの内部において、Object#hashは値を格納するためのハッシュ値の計算に、Object#eql?はキーの同一性判定に使われる。Obj…