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カレーをもっと好きにさせる



blog comments powered by Disqus
ruby_pack8

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