创建一个可以冥想生命,宇宙或者冥想的僧侣 一切。它应该有三种方法meditate_on_life, meditate_on_the_universe& meditate_on_everything并返回字符串 “我知道生命的意义”,“我知道宇宙的意义”, 和“我知道一切的意义”,分别。
在本章以前的问题的基础上,看起来应该是这样的
class Monk
["life", "the_universe", "everything"].each do |element|
define_method("meditate_on_#{element}").each do |argument|
"I know the meaning of #{element.gsub('meditate_on_', '').gsub('_', ' ')}"
end
end
end
在定义的方法中使用该字符串的正确方法是什么
答案 0 :(得分:3)
几乎。 define_method(....).each
没有意义。这些方法似乎不需要任何参数。此外,element
不包含meditate_on_
,因此无需将其删除。
class Monk
["life", "the_universe", "everything"].each do |element|
define_method("meditate_on_#{element}") do
"I know the meaning of #{element.gsub('_', ' ')}"
end
end
end
Monk.new.meditate_on_life
# => "I know the meaning of life"