这只是我在Mac OSX 10.12上使用Ruby创建的用于测试目的的示例方法,但我没有得到所需的输出:任何人都可以提出建议吗?我尝试使用paranthesis和without()来获得结果。它甚至不会抛出任何错误。在mac osx上无法获得使用ruby的def的结果
def hi
puts "Hello World"
End
hi
hi()
hi("Hello Matz")`
这只是我在Mac OSX 10.12上使用Ruby创建的用于测试目的的示例方法,但我没有得到所需的输出:任何人都可以提出建议吗?我尝试使用paranthesis和without()来获得结果。它甚至不会抛出任何错误。在mac osx上无法获得使用ruby的def的结果
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
It doesn't even throw any error.
那你没有运行该程序。
我建议你打开一个终端窗口(应用程序/实用/ 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
没有按”不接受任何参数)。
感谢大家提出的建议。我输入“结束”不正确,因为它的大小写敏感。现在我输入“结束”,它工作得很好。 –
另一个问题是下面的reg:def test(name =“World”) puts“Hello#{name.capitalize}!” 结束 这个“Hello ## {name.capitalize}”应该提供什么输出?我正在看到“Hello World!”。我不确定“name.capitalize”,它有什么作用? –
看看它的[documentation](https://ruby-doc.org/core-2.4.0/String.html#method-i-capitalize)。它说:*“返回”str“的副本,第一个字符转换为大写,其余转换为小写。”*。它对''World''没有任何影响,因为它已经有了前面提到的大写字母。如果你想整个单词大写,然后尝试['upcase'](https://ruby-doc.org/core-2.4.0/String.html#method-i-upcase)。 – axiac
向初学者建议vim ......真的吗? – spickermann
我在20只猴子上测试了vim。对于三个香蕉,其中两个能够在当天结束时将莎士比亚轰动一时 – 7stud