在Ruby中为hello world程序获取无法解释的未初始化常量错误

在Ruby中为hello world程序获取无法解释的未初始化常量错误,ruby,Ruby,我在ruby中有以下代码: Class Sample def hello puts "Hello" end s = Sample.new s.hello 我得到的错误是 my_prog.rb:1:在“”中:未初始化的常量样本(NameError) 为什么会收到此错误消息?您用于声明类的语法无效。尝试: class Sample def hello puts 'Hello' end end Sample.new.hello 还要注意,与ja

我在ruby中有以下代码:

Class Sample
    def hello
        puts "Hello"
    end 

s = Sample.new
s.hello
我得到的错误是

my_prog.rb:1:在“”中:未初始化的常量样本(NameError)


为什么会收到此错误消息?

您用于声明类的语法无效。尝试:

class Sample
  def hello
    puts 'Hello'
  end
end

Sample.new.hello
还要注意,与java等语言不同,您不需要“main”类/方法

puts 'Hello'

就足够了

代码中有一个愚蠢的错误。您应该更改一点代码。 您已经给出了类Sample而不是类Sample,所以当您调用Sample Class的新对象时,ruby解释器无法在my_prog.rb中找到Sample Class 您可以使用下面的代码

class Sample
    def hello
        puts 'Hello'
    end
end

sample = Sample.new
sample.hello

我猜你是个Python程序员。。。在ruby中,缩进与解释器无关,您需要显式地结束块。哈哈,您是对的!