Ruby Tips!

RubyのTipsを紹介します

2014-03-29から1日間の記事一覧

ビット演算を行う

Rubyでビット演算を行う演算子には以下がある。 演算子 意味 ~(単項) ビット反転 & 論理積 | 論理和 ^ 排他的論理和 >> 右ビットシフト 左ビットシフト 以下はビット演算の例である。 ビットの表示には数値を2進数で整形して表示する - Ruby Tips!の方法を使…

数値からビット列を得る

整数からビット列を得るにはInteger#[]を使う。Integer#[]には最下位ビットを0番目とする添字を指定する。以下は整数からビット列を得る例である。 int = 0b10110101 p int[0] #=> 1 p int[1] #=> 0 p int[2] #=> 1 p int[3] #=> 0 p int[4] #=> 1 p int[5] …

数値を2進数で整形して表示する

数値を2進数で整形して表示するには、Kernel.#printにフォーマット%bを渡すと良い。以下は数値の下位1バイトを2進数で整形して表示する例である。 printf("%08b\n", 1986 & 0b11111111) #=> 11000010 フォーマット%08bは数値を2進数で8桁で0パディングして整…

文字から文字コードを得る / 文字コードから文字を得る

文字から文字コードを得る Ruby 1.8ではString#[]で文字列から1バイト抜き出し文字コードを得ることができる。 p "a"[0] #=> 97 p "あ"[0] #=> 227 p "あ"[1] #=> 129 p "あ"[2] #=> 130 非マルチバイト文字であれば?リテラルで文字コードを得ることもできる…

月末の日付を得る

Date.newの第3引数に負の値を指定すると、月末からの日付でDateオブジェクトを初期化できる。-1を指定すれば、月末の日付を得ることができる。 require 'date' p Date.new(2014, 1, -1) #=> #<Date: 2014-01-31 ((2456689j,0s,0n),+0s,2299161j)> p Date.new(2014, 2, -1) #=> #<Date: 2014-02-28 ((2456717j,0s,0n),+0s,2299161j)> p Date.new(2014, 3, -1) #=> #</date:></date:>

コマンドライン引数を使う

Rubyスクリプトに対するコマンドライン引数はARGVという定数に格納される。ARGVは配列である。Ruby自身への引数はこの配列には含まれない。例えば以下のように呼び出したRubyスクリプトでは、 ruby -Ku script.rb foo bar buz定数ARGVの内容は以下のようにな…

Rubyの制御構造 繰り返し

ある条件が満たされている間、繰り返しを行うにはwhile文を使う。doは省略できる。 while 条件 do 処理 end 逆にある条件が満たされてるまで、繰り返しを行うにはuntil文を使う。doは省略できる。 until 条件 do 処理 end for文は式を評価した結果の各要素を…

モジュール関数を定義する

モジュールのプライベートメソッドであり、特異メソッドであるメソッドのことをモジュール関数と呼ぶ。モジュール関数はモジュール名.モジュール関数の形で呼び出すことができる。例えばMathモジュールのメソッドはすべてモジュール関数である。モジュール関…