设为首页 加入收藏

TOP

self_vs_default_definee_vs_receiver(二)
2017-10-09 13:49:38 】 浏览:9757
Tags:self_vs_default_definee_vs_receiver
t;>#sing>

# class_eva l

class_eva l 会把 self 和 default definee 都修改为class_eva l 的接受者

class Persion;end

Persion.class_eva l do
  p self           => Persion
  def hello; end
end

Persion.new.method(:hello) => #<Method: Persion#hello>
Persion.instance_method(:hello) => #<UnboundMethod: Persion#hello>

明白了以上几点,那么下面这个例子就很好理解了:

Persion.instance_eva l { define_method(:hello) { "hello" } }

Persion.class_eva l { define_method(:sing) { "sing" } }

Persion.instance_eva l { def speak; 'speak'; end }

Persion.class_eva l { def dance; 'dance'; end }

p Persion.new.hello => "hello"
p Persion.new.sing  => "sing"
p Persion.speak.    => "speak"
p Persion.new.dance => "dance"
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Cloud 9 Adapt Project on Heroku.. 下一篇ruby module extend self vs modu..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目