Rubyやり始めメモ その1
Rubyをやり始めました.
まだまだ手探りだけど.
とりあえず色々メモしておく.
以下続きにて
文字列の置換
hoge = "abaca"
hoge = hoge.sub("a","d") # dbaca (非破壊的)
hoge = hoge.gsub("a","d") # dbdcd (非破壊的)
hoge = "abaca"
hoge.sub!("a","d") #dbaca(破壊的)
hoge.gsub!("a","d") #dbdcd(破壊的)
基本はsub
javascriptでいうgスイッチ付きがgsub
subとgsubをそれぞれ破壊的にしたのが,sub!とgsub!
文字列の分割
hoge = "red,blue,green"
strAry = hoge.split(",") #["red","blue","green"]
strAry = hoge.split(",",2) #["red","blue,green"]
strAry = hoge.split(",",4) #["red","blue","green",""]
javascriptと対して変わらないみたい.
第二引数に分割する要素数を指定できる.
フォルダの有無判定後,無ければ作成
Dir.mkdir(path) unless Filetest.exist?(path)
Dir.mkdir(path) if !Filetest.exist?(path)
mkdirで作成,Filetest.exist?で有無判定
unlessとifは,真偽逆
テキストデータの読み込み
begin
fh = open(path)
rescue Errno::ENOENT
return
end
hoge = fh.read # すべて読み込み(readAll的な)
hoge = fh.readlines[10] # すべてを読み込んだ後,10行目のみhogeに格納
fh.close
begin-rescue-endは例外処理.
open(path)でファイルが開けなかった場合は例外となり,rescueに拾われる.
テキストデータの書き込み
begin
fh = open(path,"w")
rescue Errno::ENOENT
return
end
fh.print hoge # hogeを書き込む
fh.close
配列の走査
ary = ["red","blue","green"]
ary.each{|l| # lに配列の要素が格納される
# 処理
}ary.each_with_index{ |l , i| # lに配列の要素,iにindex(要素番号)が格納
# 処理
}
要素番号を必要としない場合はeachだけで,
必要な場合は,each_with_indexを使う.