Module方法调用好不好
Module方法调用好不好以前说,用module给class加singleton方法,和extend到类include到类的instance
现在看看这个
Ruby代码1.module Prober
2.def probe_invoke(type, data = {})
3. p = Probe.new({:probe_type => type.to_s,
4. :data => data.to_json, :probe_status => 0, :retries => 0})
5. p.save
6.end
7.end
module Prober
def probe_invoke(type, data = {})
p = Probe.new({:probe_type => type.to_s,
:data => data.to_json, :probe_status => 0, :retries => 0})
p.save
end
end掉的时候
Ruby代码1.require 'prober'
2.include Prober
3.probe_invoke("send_sms", sms_text)
require 'prober'
include Prober
probe_invoke("send_sms", sms_text)Ruby代码1.module Prober
2.def Prober.probe_invoke(type, data = {})
3. p = Probe.new({:probe_type => type.to_s,
4. :data => data.to_json, :probe_status => 0, :retries => 0})
5. p.save
6.end
7.end
8.
9.Prober.probe_invoke("send_sms", sms_text)
module Prober
def Prober.probe_invoke(type, data = {})
p = Probe.new({:probe_type => type.to_s,
:data => data.to_json, :probe_status => 0, :retries => 0})
p.save
end
end
Prober.probe_invoke("send_sms", sms_text)Ruby代码1.module Prober
2.
3.class << self
4.
5. def probe_invoke(type, data = {})
6. p = Probe.new({:probe_type => type.to_s,
7. :data => data.to_json, :probe_status => 0, :retries => 0})
8. p.save
9. end
10.
11. # more module instance methods ...
12.
13.end
14.
15.end 我也常
instance_method.extend module_name
扩展单态方法。
页:
[1]