Ruby on rails Ruby-不确定调用函数的语法
我在ruby控制台中,试图调用一个方法,但语法不正确 以下是文件的结构:Ruby on rails Ruby-不确定调用函数的语法,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在ruby控制台中,试图调用一个方法,但语法不正确 以下是文件的结构: module App module Tools module Pollers class Kpi attr_reader :start_time,:stop_time def initialize(start_time,stop_time) @start_time = start_time @stop_time = stop_
module App
module Tools
module Pollers
class Kpi
attr_reader :start_time,:stop_time
def initialize(start_time,stop_time)
@start_time = start_time
@stop_time = stop_time
end
.....
我试图在控制台中这样调用它:
?> kpi = App::Tools::Pollers::Kpi.initialize(start,end_date)
SyntaxError: compile error
(irb):17: syntax error, unexpected tCONSTANT, expecting kDO or '{' or '('
有人能告诉我调用初始化的正确语法吗
谢谢 根据错误消息判断,问题在别处,但您可能需要
Kpi.new
,而不是Kpi.initialize
很明显,它不在其他地方:)
initialize
是类Kpi
的一个实例方法<代码>应用程序::工具::轮询器::Kpi是一个类,只能在其上运行类方法。Ruby免费为每个类的初始化提供了类方法。此方法是新的。调用new
,它采用与initialize
相同的参数,并返回一个实例:
kpi = App::Tools::Pollers::Kpi.new(start,end_date)
是的
App::Tools::Pollers::Kpi.new(start,end_date)
在您的irb会话之前,似乎还存在语法错误。根据错误消息判断,问题在其他地方,但您可能需要
Kpi。新建,而不是Kpi。初始化@minitech谢谢您的帮助-如果您想将其作为答案发布,我会接受。好的,我已经完成了。但我不明白你怎么会从中得到一个语法错误
;它应该是一个命名错误
@minitech击中了它的鼻子。在irb会话的早期,必须存在问题,否则这将是NoMethodError
。