Ruby Tips!

RubyのTipsを紹介します

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

配列の要素を連結して文字列化する

配列の要素を連結して文字列化するにはArray#joinを使う。デフォルトでは単に要素が連結される。 p ['foo', 'bar', 'buz'].join #=> "foobarbuz" Array#joinには引数でセパレータを指定することができる。例えばCSV風に配列を文字列化するには以下のようにす…

メソッドを定義する

メソッドの定義 メソッドは以下のようにして定義する。 def メソッド名(引数) 処理内容 end引数には以下の4種類がある。 引数の書式 意味 arg デフォルト式のない引数 arg = val デフォルト式のある引数 *arg 可変長引数 &arg ブロック引数 以下は4種類の引…

特殊文字を2重にしてエスケープする

SQLのように特殊文字を2重にするエスケープもString#gsubを使って簡単に記述できる。 p "foo'bar\"buz\\".gsub(/['"\\]/){|c| c + c} #=> "foo''bar\"\"buz\\\\" エスケープした文字列をアンエスケープする処理は、同様にString#gusbを使って以下のように記…

特殊文字をバックスラッシュでエスケープする

String#gsubを使えば特殊文字をバックスラッシュでエスケープする処理を簡単に記述できる。 p "foo'bar\"buz\\".gsub(/['"\\]/){|c| "\\" + c} #=> "foo\\'bar\\\"buz\\\\" ポイントはブロック付きでString#gsubを呼び出すこと。引数を2つ取るgsubでは置換文…

カレントディレクトリを変更する

カレントディレクトリを変更するには、File.chdirまたはFileUtils.chdirを使う。 p Dir.pwd #=> "/home/rubytips86" Dir.chdir('/') p Dir.pwd #=> "/" これらのメソッドはブロックを取ることもできる。ブロックを与えるとブロックの中でだけカレントディレ…