07 August 2013
チルダでRubyの式埋め込みをもっと便利に!?
Rubyでは文字列に式を埋め込めるという便利な機能があるよ。
name = "Charlie"
job = :Teacher
account = 22360679
puts "#{name} is a #{job}.\nHis account is #{account}."
# >> Charlie is a Teacher.
# >> His account is 22360679.
でも、こういうときに埋め込み文字をシングルクォートなんかで強調したいってこと良くあるよね?
puts "'#{name}' is a '#{job}'.\nHis account is '#{account}'."
# >> 'Charlie' is a 'Teacher'.
# >> His account is '22360679'.
これって、面倒くさくない?
そんなわけで…
こんな小ネタを…
class Object
def method_missing(m, *a, &b)
m==:~ ? "'#{self}'" : super
end
end
シングルクォートに代えて式の前に’~’(チルダ)を入れて…
puts "#{~name} is a #{~job}.\nHis account is #{~account.inspect}."
# >> 'Charlie' is a 'Teacher'.
# >> His account is '22360679'.
数値のときにinspectしなきゃとかダサ…
久しぶりのブログ更新がこれじゃあねぇ…
関連記事:
blog comments powered by Disqus