Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby-不确定调用函数的语法_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 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_

我在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_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