如何在Ruby
中为另一个类的initialize参数赋值class Ubac
def initialize(p_str)
@p_str=p_str
(.....)
end
def method1
(.....)
end
end
class ReqQuote < Ubac
def initialize(p_code)
@code=p_code
# here how do i initialize the @p_str to the value which is returned from the get_data method below.?
end
def get_data(symbol)
(....) # fetch data
data
end
def methodx
(.....)
end
end
此处如何使用@p_str
方法返回的值初始化get_data
,就像p_str
类的Ubac
初始化initialize
一样?
答案 0 :(得分:2)
在这种特定情况下,您可以将@p_str=
放入Ubac#initialize
。但是,您可以使用Ubac
从initialize
拨打ReqQuote
的{{1}},例如
super
这通常是一种很好的做法,因为这意味着添加到class ReqQuote < Ubac
def initialize(p_code)
super(get_data(some_symbol))
@code=p_code
end
...
的任何其他初始化代码也会在您创建Ubac
时执行。
答案 1 :(得分:0)
你写@p_str = get_data(some_symbol)
。