【发布时间】:2017-02-19 07:38:09
【问题描述】:
这只是我创建的一个示例方法,用于在 Mac OSX 10.12 上使用 Ruby 进行测试,但我没有得到想要的输出:有人可以建议吗?我尝试使用括号和不使用()来获得结果。它甚至不会抛出任何错误。
def hi
puts "Hello World"
End
hi
hi()
hi("Hello Matz")`
【问题讨论】:
这只是我创建的一个示例方法,用于在 Mac OSX 10.12 上使用 Ruby 进行测试,但我没有得到想要的输出:有人可以建议吗?我尝试使用括号和不使用()来获得结果。它甚至不会抛出任何错误。
def hi
puts "Hello World"
End
hi
hi()
hi("Hello Matz")`
【问题讨论】:
试试这个:
def hi
puts "Hello World"
end
hi
hi()
还有这个:
def greet(greeting)
puts greeting
end
greet("Hello Matz")
注意这一行:
hi("Hello Matz")`
你在末尾有一个勾号,所以这是一个错误:
1.rb:5: syntax error, unexpected tXSTRING_BEG, expecting end-of-input
它甚至不会抛出任何错误。
那么你没有运行那个程序。
我建议你打开一个终端窗口(Applications/Utilities/Terminal.app),然后输入:
$ vimtutor
vim 是 Mac 附带的免费计算机编程编辑器。完成教程并学习如何使用 vim。要运行 ruby 程序,您需要将代码输入到文件中,然后将其另存为 my_prog.rb。然后你需要将该文件交给 ruby 来执行它。你像这样执行一个 ruby 程序:
$ ruby my_prog.rb
您可以像这样为所有 ruby 程序创建一个目录:
$ mkdir ruby_programs
$ cd ruby_programs
要在该目录中创建一个新文件,请使用 vim:
~/ruby_programs$ vi my_prog.rb
输入完代码后,保存文件,这将使您回到终端的提示符处,然后您可以运行您的程序:
~/ruby_programs$ ruby my_prog.rb
一旦您熟悉了 vim,并且对运行 ruby 程序充满信心,请考虑使用生动的粉笔配色方案安装 macvim:
它比普通的 vim 更好看。
【讨论】:
尝试编辑您的文件,使其显示为:
def hi
puts "Hello World"
end
hi
需要注意的一些重要区别:def 和 end 都区分大小写。函数定义的内部缩进了两个空格。由于该函数不带参数,因此在第 4 行调用 hi 时不需要括号。
根据您的文件名,输入命令ruby FILENAME,您应该会看到输出Hello World
【讨论】:
Ruby 关键字区分大小写。您的代码使用了End,您可能想使用end 来标记hi 方法的结束。
因为End 与end 不同(并且End 不是关键字),所以irb 一直等待输入并将其他三行视为hi 方法的一部分。据它所知,它的定义在到达end 关键字(所有非大写字母)之前是不完整的。
定义方法的正确方法是:
def hi
puts "Hello World"
end
然后您可以使用hi 或hi() 调用它。
将其称为hi("Hello Matz")(或hi "Hello Matz")会引发ArgumentError 异常并显示消息wrong number of arguments (given 1, expected 0),因为它是使用一个参数调用的,但方法hi 的定义没有指定任何有关参数的内容(根据其定义,hi 方法不接受任何参数)。
【讨论】:
str 的副本,其中第一个字符转换为大写,其余字符转换为小写。”。它对"World" 没有任何影响,因为它已经具有上述大小写。如果您希望整个单词大写,请尝试upcase。