Ruby - 基本语法

首页 / Ruby入门教程 / Ruby - 基本语法

让无涯教程用Ruby编写一个简单的程序,所有的ruby文件都将具有扩展名 .rb 。因此,将以下源代码放入test.rb文件中。

#!/usr/bin/ruby -w

puts "Hello, Ruby!";

在这里,假设您在/usr/bin目录中有Ruby解释器,现在,尝试按以下方式运行此程序-

$ruby test.rb

这将产生以下输出-

Hello, Ruby!

Ruby 空格

空格和制表符之类的空格字符通常在Ruby代码中会被忽略,除非它们出现在字符串中。启用-w选项时,此类解释会产生警告。

a + b is interpreted as a+b ( Here a is a local variable)
a +b is interpreted as a(+b) ( Here a is a method call)

Ruby 标识符

标识符是变量,常量和方法的名称。 Ruby标识符区分大小写。这意味着RamRAM是Ruby中的两个不同的标识符。

Ruby标识符名称可以包含字母数字字符和下划线字符(_)。

Ruby 保留字

以下列表显示了Ruby中的保留字。这些保留字不能用作常量或变量名。但是,它们可以用作方法名称。

BEGINdonextthen
END else nil true
alias elsifnot undef
and endorunless
beginensure redountil
break falserescuewhen
caseforretrywhile
class ifreturnwhile
def inself __ FILE __
definedmodule super __ LINE __

Ruby 多行文档

"Here Document" 是指从多行构建字符串。 在<<之后,您可以指定字符串或标识符以终止字符串文字,并且当前行之后直至终止符的所有行都是字符串的值。

如果用引号引起来,则引号的类型确定面向行的字符串文字的类型。 注意,<<和终止符之间不能有空格。

#!/usr/bin/ruby -w

print <<EOF
   This is the first way of creating
   here document ie. multiple line string.
EOF

print <<"EOF";                # same as above
   This is the second way of creating
   here document ie. multiple line string.
EOF

print <<`EOC`                 # execute commands
	echo hi there
	echo lo there
EOC

print <<"foo", <<"bar"  # you can stack them
	I said foo.
foo
	I said bar.
bar

这将产生以下输出-

   This is the first way of creating
   her document ie. multiple line string.
   This is the second way of creating
   her document ie. multiple line string.
hi there
lo there
      I said foo.
      I said bar.

Ruby BEGIN 语句

BEGIN {
   code
}

声明代码在程序运行之前被调用。

#!/usr/bin/ruby

puts "This is main Ruby Program"

BEGIN {
   puts "Initializing Ruby Program"
}

这将产生以下输出-

Initializing Ruby Program
This is main Ruby Program

Ruby END 语句

END {
   code
}

声明要在程序结尾处调用的 code 。

#!/usr/bin/ruby

puts "This is main Ruby Program"

END {
   puts "Terminating Ruby Program"
}
BEGIN {
   puts "Initializing Ruby Program"
}

这将产生以下输出-

Initializing Ruby Program
This is main Ruby Program
Terminating Ruby Program

Ruby 注释

注释在Ruby解释器中隐藏了一行,一行的一部分或几行。您可以在行的开头使用井号(#)-

# I am a comment. Just ignore me.

或者,注释可以在语句或表达式后的同一行上-

name="Madisetti" # This is again comment

您可以注释多行,如下所示:

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

这是另一种形式。该块注释使用= begin ... =end从解释器中隐藏了几行-

=begin
This is a comment.
This is a comment, too.
This is a comment, too.
I said that already.
=end

Ruby 常量

第一个大写字母的标识符是Ruby中的常量。在编程中,习惯上以大写形式写入常量的所有字符。

#!/usr/bin/ruby

Name = "Robert"
AGE = 23

Name = "Juliet"

在上面的示例中,创建了两个常量。常量之一将在以后重新定义。

Name = "Robert"
AGE = 23

创建两个常量。当标识符的名称以大写字母开头时,在Ruby中将有一个常量。按照约定,常量通常用大写字母表示。

Name = "Juliet"

无涯教程重新定义一个常数。哪个发出警告。

$ ./constants.rb 
./constants.rb:6: warning: already initialized constant Name
./constants.rb:3: warning: previous definition of Name was here

这一章《Ruby - 基本语法》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

好记忆不如烂笔头。留下你的足迹吧 :)

相关推荐

透视HTTP协议 -〔罗剑锋(Chrono) - 〕

成为AI产品经理 -〔刘海丰 - 〕

技术面试官识人手册 -〔熊燚(四火) - 〕

程序员的测试课 -〔郑晔 - 〕

字符串长度多显示一个字符 - ruby

这是 ruby​​ Regexp 中的错误吗?如何在不使用超时的情况下防止正则表达式匹配中的“无限循环”?

无法在 macos-10.15.6 上Bundle 安装 puma 4.3.5 或 gem puma 与 ruby​​-2.6.6

如何只获取没有命名空间的类名

`expect`测试中的Rspec`eq`与`eql`

对于基于 GitHub 的 gem,强制Bundle 安装使用 https:// 而不是 git://

视频推荐

Ruby - 使用对象属性 更多视频教程 »