Ruby LanguageRuby语言入门


备注

Ruby是一种多平台开源,动态的面向对象的解释语言,旨在简化和高效。它由Yukihiro Matsumoto(Matz)于1995年创建。

根据它的创建者,Ruby受PerlSmalltalkEiffelAdaLisp的影响 。它支持多种编程范例,包括功能,面向对象和命令式。它还具有动态类型系统和自动内存管理。

版本

发布日期
2.4 2016年12月25日
2.3 2015年12月25日
2.2 情节中字
2.1 2013年12月25日
2.0 2013年2月24日
1.9 2007-12-25
1.8 2003-08-04
1.6.8 2002-12-24

你好,世界

此示例假定已安装Ruby。

将以下内容放在名为hello.rb 的文件中:

puts 'Hello World'
 

从命令行,键入以下命令以从源文件执行Ruby代码:

$ ruby hello.rb
 

这应输出:

Hello World
 

输出将立即显示到控制台。 Ruby源文件在执行之前不需要编译。 Ruby解释器在运行时编译并执行Ruby文件。

Hello World是一个可自行执行的文件 - 使用Shebang(仅限类Unix操作系统)

您可以在脚本中添加解释器指令(shebang)。创建一个名为hello_world.rb 的文件,其中包含:

#!/usr/bin/env ruby

puts 'Hello World!'
 

为脚本提供可执行权限。这是在Unix中如何做到这一点:

$ chmod u+x hello_world.rb
 

现在您不需要显式调用Ruby解释器来运行您的脚本。

$ ./hello_world.rb
 

IRB的Hello World

或者,您可以使用Interactive Ruby Shell (IRB)立即执行您之前在Ruby文件中编写的Ruby语句。

键入以下命令启动IRB会话:

$ irb
 

然后输入以下命令:

puts "Hello World"
 

这会导致以下控制台输出(包括换行符):

Hello World
 

如果您不想开始新行,可以使用print

print "Hello World"
 

你好世界与tk

Tk是Ruby的标准图形用户界面(GUI)。它为Ruby程序提供了跨平台的GUI。

示例代码:

require "tk"
TkRoot.new{ title "Hello World!" }
Tk.mainloop
 

结果:

带有tk的Hello World的结果

分步说明:

require "tk"
 

加载tk包。

TkRoot.new{ title "Hello World!" }
 

使用标题Hello World 定义小部件

Tk.mainloop
 

启动主循环并显示小部件。

Hello World没有源文件

安装Ruby后,在shell中运行以下命令。这显示了如何在不创建Ruby文件的情况下执行简单的Ruby程序:

ruby -e 'puts "Hello World"'
 

您还可以将Ruby程序提供给解释器的标准输入。一种方法是在shell命令中使用here文档

ruby <<END
puts "Hello World"
END
 

我的第一种方法

概观

创建一个名为my_first_method.rb 的新文件

将以下代码放在文件中:

def hello_world
  puts "Hello world!"
end

hello_world() # or just 'hello_world' (without parenthesis)
 

现在,从命令行执行以下命令:

ruby my_first_method.rb
 

输出应该是:

Hello world!
 

说明

  • def 是它告诉我们,我们是一个关键字def -ining的方法-在这种情况下, hello_world 是我们方法的名称。
  • puts "Hello world!" puts (或管道到控制台) puts 字符串Hello world!
  • end 是一个关键字,表示我们正在结束我们对hello_world 方法的定义
  • 因为hello_world 方法不接受任何参数,所以可以通过调用方法省略括号