hp12c
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しなきゃとかダサ...

久しぶりのブログ更新がこれじゃあねぇ...


関連記事:

チルダがRubyのヒアドキュメントをもっと良くする

チルダがRubyカレーをもっと好きにさせる



Please enable JavaScript to view the comments powered by Disqus. blog comments powered by Disqus
ruby_pack8

100円〜で好評発売中!
M'ELBORNE BOOKS


AltStyle によって変換されたページ (->オリジナル) /