2016-05-01から1ヶ月間の記事一覧

rubyの奇妙な行動

#!/usr/bin/env rubyax=%w(a-2 b-1 c0 d1 e2 f3)ax.each do |i| i.sub!(/-?\d+/) do x=$& x.to_i +2 #--- A # x.to_i + 2 end puts i end 上のruby scriptを実行するとa0b-1c0d1e0f0 と奇妙な結果になる。 #--- A の行をcommentにして、その次の行をcomment …

rubyのarrayがうっかりこわれる

ax=%w(aaa bbb ccc ddd) y=ax[0] y << "qqq" p ax 上のrubyのscriptを実行すると ["aaaqqq", "bbb", "ccc", "ddd"] となり、array axがこわれる。 y << "qqq" を y+="qqq" とすれば、こわれない。