<分区>
Ruby 有没有办法在几个函数的末尾插入更多的代码?
这里有一些方法
def foo
# do something
end
def bar
# do something else
end
现在我想在每个函数 foo
和 bar
的末尾添加一行代码,如 p "#{__method__}"
。有办法吗?
<分区>
Ruby 有没有办法在几个函数的末尾插入更多的代码?
这里有一些方法
def foo
# do something
end
def bar
# do something else
end
现在我想在每个函数 foo
和 bar
的末尾添加一行代码,如 p "#{__method__}"
。有办法吗?
最佳答案
您无法完成您想要的,但您可以使用元编程动态地完成类似的事情。 Method#name
会给你同样的结果,当你调用__method__
时你会打赌得到什么.这是向您展示逻辑的代码,我现在正在考虑:
def foo
x = 2
end
def bar
y = 3
end
[:foo,:bar].each do |m|
method(m).instance_eval{ val = call; puts "#{name} returned #{val * 2} after multiply by 2"}
end
输出
foo returned 4 after multiply by 2
bar returned 6 after multiply by 2
关于ruby-on-rails - 在函数末尾添加更多代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660930/
相关文章:
ruby-on-rails - RSpec 失败是因为它认为 ActiveRecord 对象不相等
javascript - 有什么想法不选择已在 token 输入中选择的名称吗?
c++ - 如何将 boost::hana::unpack 与构造函数一起使用,而不是函数?
ruby-on-rails - "No method error"来自使用 capybara 的 Rails 测试
javascript - 如何在 Rails 中突出显示搜索到的单词?
ruby - 如何在 Ruby 中访问原始命令行参数字符串?