简体   繁体   English

Ruby问题与class_eval

[英]Ruby issue with class_eval

I'm trying to run the following but i keep getting a 我正在尝试运行以下但我一直得到一个

"NoMethodError: undefined method `bar=' for #/Foo:0x86f69ba/" “NoMethodError:未定义的方法`bar ='for#/ Foo:0x86f69ba /”

    class Class
    def my_attr_accessor(name)

    attr_name = name.to_s  
    attr_reader name       
    attr_reader "my_"+name 
    class_eval %Q"def #{name}=(val)
                 @#{name}=val
                 end"
      end

    end

I'm actually using something similar to this post: Ruby - Using class_eval to define methods 我实际上使用类似于这篇文章的东西: Ruby - 使用class_eval来定义方法

EDITED: you're quite right I made the change to reflect this.. thanks a lot. 编辑:你说得对,我做了改变以反映这一点..非常感谢。

class_eval是一个方法,但是你在这里分配一个变量( class_eval =

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM