短いメソッドとヘルパー モジュールの代わりに proc とラムダを使用できることがわかりました。他のどこにも属さないメソッドを、定数に割り当てられた proc の単なるリストであるファイルに入れます。たとえば、ファイルhelper_procs.rb
は によって必要init.rb
とされ、次の内容が含まれています。
RED_TEXT = proc{|t| "\e[31m#{t}\e[0m"}
GREEN_TEXT = proc{|t| "\e[32m#{t}\e[0m"}
YELLOW_TEXT = proc{|t| "\e[33m#{t}\e[0m"}
CURRENT_TIME = proc do
date = Time.now.to_s.split(' ')[0].split('-').reverse.join('-')
time = Time.now.to_s.split(' ')[1]; "#{time} (#{date})"
end
そして、プログラムのどこか (別のファイル) で、次のことを行います。
puts GREEN_TEXT["A string!"]
puts CURRENT_TIME.call
それは悪い習慣ですか?落とし穴はありますか?