ウォータースメルって何のことだかご存知ですか?
水臭いってことだそうです。そのまんま直訳なんです。( ´_ゝ`)フーンって感じですかソウデスカ。
Rubyの"!"は破壊的以外の意味も持つ
破壊的メソッドにつけられる"!"は、例外を発生させるメソッドにもよく利用されるそうです。破壊的メソッドの例は String#chop、例外を発生させるメソッドの例は Rails の ActiveRecord::Base#save! などです。.o0(今、Rails本を読んでます)
破壊的メソッド
ある文字列の末尾から改行文字を取り除きたいとき、Rubyでは String#chop や String#chomp というメソッドを使います。chop は単純に文字列の最後の文字を取り除くので、改行文字以外の文字を取ってきてしまうこともありますが、chomp は最後が改行文字の場合にだけ作用します。
chop も chomp も String のメソッドですが、どちらのメソッドを使っても String 自体には影響はありません。String 自体に変更を加えたい場合は破壊的メソッドを使います。
s = "hoge\n" s.chop # => "hoge" 末尾の改行を取り除く s # => "hoge\n" でも s 自体に変化はない s.chop! # => "hoge" 破壊的メソッドを使うと s # => "hoge" s 自体も変化する(破壊される) s.chop # => "hog" chop は改行以外でも取り除く s.chomp # => "hoge" chomp は改行以外は取り除かない
Railsで使う画像の置き場所
app/views/ 内の rhtml から public/ にある画像 image.gif を参照する場合、そのパスは"../image.gif"とするとうまくいきます。何でこれでうまくいくのかは分からないのですけど・・・(´・ω・`) どこが基準になっているんだろう?