Log.log(work)

いろんな作業メモ

Ruby memo

Rubyについてのめも。

起動時

大文字の-Cオプションを使うとワーキングディレクトリを指定出来る。
ruby -C source program.rb

出力

print p puts の違い。
printは改行しない。putsは文の最後に強制的に改行する。
pは引数に指定したオブジェクトを人に読みやすい形に変換してから標準出力に出力する。

print "hoge_print"
puts "hoge_puts"
p "hoge_p"

結果は、
>ruby printTest.rb
hoge_printhoge_puts
"hoge_p"


File

Fileを開くときに使うクラス。

openメソッド

new(path, mode = "r", perm = 0666) -> File[permalink][rdoc]
open(path, mode = "r", perm = 0666) -> File
open(path, mode = "r", perm = 0666) {|file| ... } -> object

オプションを指定して開くことができる。

  • "r" 読み込みモード
  • "r+" 読み書き両用モード
  • "w" 新規作成書き込みモード
  • "w+" 新規作成読み書き両用モード
  • "a" 追加書き込みモード
  • "a+" 追加書き込み読み書き両用モード
  • "rb","r+b","wb","w+b","ab","a+b" 上記6パターンのバイナリモード
File.open("readme.txt", "a") do |f|
    f.write(" bananas") #後ろにbanansをつける
end
Tempfile

Tempfileを作ることができる。GC時やインタプリタ終了時に削除される。

temp = Tempfile::new("foobar", "/home/take/tmp")
split

File::splitを使うと、ファイルパスからディレクトリパスとファイル名を一度に抜き出すことができる。
File.splitはディレクトリ部分とファイル部分に文字列オブジェクトの引数を分割し、両方から末尾のスラッシュを取り除く。

join

任意の数の文字列オブジェクトの引数からパスを生成する。引数はOSに依存するパスセパレータとして定義されたFile::SEPARATOR定数と一緒に繋げられる。

→引数内と別のjoinメソッドになるよ。

File.split("/home/john/bookmarks/").join

↑この場合、Arrays#joinになる。