【问题标题】:meta programming to include module包含模块的元编程
【发布时间】:2012-10-18 15:57:07
【问题描述】:

我正在使用 ruby​​ on rails 并且我目前有代码

if level == "Grad"
  include Grad
else
  include Undergrad

其中 level 是一个字符串,表示“Grad”或“Undergrad”

我想使用元编程在没有 if 语句的情况下包含正确的模块

类似的东西。

send :include, level

我该怎么做。最好的方法是什么?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3.1 metaprogramming


    【解决方案1】:

    include "#{level}".constantize。这对你有用吗?

    【讨论】:

    • 很好,但从你的回答我只是简化它包括 level.constantize
    • 我的意思是你为什么需要“#{level}”当你可以使用级别时
    猜你喜欢
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2020-12-28
    • 2016-02-23
    • 1970-01-01
    • 2013-10-28
    相关资源
    最近更新 更多