我有模块
# File 1.rb
module Search
class A
attr_accessor :results
def find_results
self.results = [somethings]
end
def do_something_with_results
b = B.new.do_something
b.response #=> something
c = C.new.use_b_response_do_something
return c.did_something
end
end
end
# File 2.rb
module Search
class B
end
class C
end
end
我的模块Search
包含类A, B, C
A类做了某些事情并带回了需要与B类和C类共享的数据,以便对该数据做一些事情(改进它,在某处发送它,返回true或false)。
如何在课程之间共享此信息?我一直这样做,我认为这是错误的
def do_something
b = B.new.doing_something
c = C.new.something_else(b.some_attr)
end
效率不高
答案 0 :(得分:0)
我的代码中没有任何问题。你似乎在做应该做的事情。使用方法获取和传递数据。
使代码更好的一件事就是将b传递给c。
def do_something
b = B.new.doing_something
c = C.new(b).something_else
end
但这取决于你的用例...