制作方法的方法:简单的Ruby元编程

制作方法的方法:简单的Ruby元编程,第1张

概述我在视图助手中有一堆这样的方法 def background "#e9eaec" end def footer_link_color "#836448" end 我希望这些方法暴露在视图中,但我更喜欢帮助器更简洁一些.将哈希转换为方法(或其他)的最佳方法是什么? module MyHelper {:background => "#e9eaec", :footer_l 我在视图助手中有一堆这样的方法

def background    "#e9eaec"  end  def footer_link_color    "#836448"  end

我希望这些方法暴露在视图中,但我更喜欢帮助器更简洁一些.将哈希转换为方法(或其他)的最佳方法是什么?

解决方法
module MyHelper  {:background => "#e9eaec",:footer_link_color => "#836448"}.each do |k,v|    define_method(k) {v}  endend

虽然我不认为为你的第一种方法的可读性交易这些简洁性一定是个好主意.

如果要概括它,可以将以下方法添加到Module类:

class Module  def methods_from_hash(hash)    hash.each do |k,v|      define_method(k) {v}    end  endend

然后在你的帮手中调用methods_from_hash(:background => …).

总结

以上是内存溢出为你收集整理的制作方法的方法:简单的Ruby元编程全部内容,希望文章能够帮你解决制作方法的方法:简单的Ruby元编程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1285725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存