Ruby Tips!

RubyのTipsを紹介します

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

shebangでRubyスクリプトを実行可能にする

Unixライクなシステムでは、先頭行に#!を書くことで、スクリプトを任意のプログラムで実行するように指定することができる。これをshebangと呼ぶ。例えばRubyが/usr/bin/rubyにインストールされているシステムなら、先頭行に以下のように書いてhello.rbとし…

複数の配列から別の配列を生成する

2つ以上の配列を組み合わせて別の配列を生成するには、Array#zipメソッドが利用できる。zipメソッドは、レシーバと引数で渡した配列から、要素を1つずつ取って、組み合わせた配列の配列を生成する。要素数はレシーバに合わせられる。このメソッドの動作はま…

2つのハッシュのキーを比較する

ハッシュのキーはHash#keysで配列として取り出すことができる。これを利用すれば、2つのハッシュのキーを比較して、両方に存在するキー、一方にしかないキーを抽出できる。両方にあるキーを抽出するには以下。 h1 = {:hoge => true, :piyo => true} h2 = {:p…

Rubyの環境変数

Rubyが参照する環境変数には以下がある。 環境変数 意味 RUBYOPT Rubyインタプリタにデフォルトで渡すオプションを指定する。 RUBYPATH -Sオプション指定時に、環境変数PATHに加えて、この環境変数で指定したディレクトリも探索対象になる。これはPATHよりも…

配列の要素を置換する3つの方法

すべての要素を置き換える 配列のすべての要素を別の値に置き換えるには、flllメソッドを使う。 [1, 2, 3].fill(4) #=> [4, 4, 4] fillメソッドはブロックを取ることもできる。その場合、ブロックにはindexが与えられ、ブロックの評価結果が値となる。 [nil,…

YAMLとRubyのデータ構造の相互変換

YAMLは構造化されたデータを文字列で記述するデータ形式だ。 Rubyではyamlライブラリを使って、YAMLとRubyのオブジェクトを相互変換することができる。YAMLからRubyのオブジェクトを得るには、YAML.loadを使う。 require 'yaml' yaml = <<YAML - {name: Alice, age: 16} - {name: Bob, age: 24} - {name: Carol, age: 30} YAML p YAML.load(yaml) #=> [{"name"=>"Alice",</yaml>…

Rubyスクリプトにコメントを書く

Rubyスクリプトでは#から行末までがコメントとみなされる。C言語などでいう//と同じ、いわゆる単一行コメントである。 puts "Hello, World!" # show Hello, World! C言語などでいう/* */のような、いわゆる複数行コメントは、Rubyでは=begin =endを使って以…

日本語で曜日を出力する

Rubyには日本語の曜日を扱う方法は用意されていない。 このため日本語で曜日を出力したい場合は、自分で変換用の配列を用意してやる必要がある。 時刻や日付に対する曜日の取得はTime#wdayやDate#wdayで行えるので、これに対応した配列を用意してやると良い…

Rubyにおけるメソッドの呼び出し

Rubyでメソッドを呼び出すには以下の文法に従う。 メソッドを呼び出す対象のオブジェクトのことをレシーバと呼ぶ。 オブジェクト.メソッド(引数)引数を取らないメソッドの場合、または全ての引数にデフォルト値が設定されている場合、括弧と引数を省略できる…