Ruby Programming | 连载 02 - Ruby 语法基础

简介: Ruby Programming | 连载 02 - Ruby 语法基础

一、Ruby 基本语法

Ruby 的基本语法中包含了 Ruby 的基本运算符、I/O、控制流以及 Ruby 中的特殊对象和注释。

Ruby 中的基本运算包含了 算术运算赋值比较 以及 字符串和数值的转换

运算符 栗子 🌰 说明
算数运算 1+2(加法)
3-2(减法)
2*3(乘法)
2/3(除法)
1.2+3.1(浮点加法)
2-1.0(浮点减法)
1.0*2(浮点乘法)
4.0/2(浮点除法)
所有的运算都是用整型或者浮点型,混合使用整型和浮点型运算,最终结果为浮点型
赋值运算 x=1
y="coffee"
赋值操作时将一个对象(等号右边)绑定到一个局部变量(等号左边)上,即把对象看做一个用变量表示的值
比较运算 x==y
2>1
2<3
比较是否相等时使用的是两个等号,使用一个等号表示赋值
字符串 -> 数值 "1".to_i
"20".to_i
字符串对象的 to_i 方法可以将字符串形式的数字转换成整型

I/O 即输入(Input)和输出(Output),Ruby 中的 I/O 方法如下:

操作 栗子 🌰 说明
打印/输出到控制台 print "Ruby"
puts "Hello"
p "World"
如果字符串结尾没有换行符 puts 函数会自动添加一个,但是 print 函数不会自动添加,p 函数会输出一个字符串格式数据。
获取键盘输入 gets
str = gets
直接将键盘输入赋值给一个变量

使用 irb 运行上述栗子,输出结构如下:

467da296e075409494a20d937c73517e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

=> 指向的是函数的返回值,nil 表示空值,也就是说 print 函数和 puts 函数的返回值为空,p 函数的返回值为该函数的参数。

gets 函数将键盘输入内容作为函数的返回值。

Ruby 是一门面向对象的编程语言,Ruby 中一切皆对象。Ruby 语言中包含的特殊对象如下:

操作 栗子 🌰 说明
默认对象 self self 关键字引用默认对象。self 是一个依赖于运行时上下文表示不同对象的角色。没有指定调用者的方法,调用的时候会默认被 self 调用
特殊值对象 true
false
nil
truefalse 对象通常用于条件判断或者比较的返回值;nil 对象是指 "nonobject" 的一种,表示值或者结果的缺失,falsenil 表示条件表达式失败,所有的 其他对象, true, 0, 空字符串 等表示条件表达式成功。

二、Ruby 标识符

Ruby 中的标识符类型不多,主要包含了 变量, 常量, 关键字, 方法名 等,而变量又包含了局部变量, 全局变量, 实例变量类变量

变量命名规范

Ruby 中的 局部变量 的命名以 小写字母或者下划线开头,包含了字母、下划线和数字。name、str、age、first_name、lastName 都是有效的命名方式。但是在组合单词命名的局部变量时,Ruby 通常约定使用下划线来作为命名规范,而不是驼峰命名法;Ruby 中推荐使用 first_name 而不是 firstName

全局变量以 $ 开头,如 $year$ 之后的变量名不使用局部变量的命名规则,也就是说全局变量中可以包含特殊字符,如 $1$/

实例变量为独立的 对象 存储信息,通常以一个单独的 @ 符号开头,后面使用与局部变量相同的命名规则,不同的是实例变量在 @ 符号之后的第一个字符可以大写,但是不同使用数字;通常来说还是 @ 之后的第一个字母还是使用小写字母。如 @name@age

类变量是在每一个类层级上存储信息,要区分于实例变量在对象层级上存储信息;对象是由类实例化而来的。类变量以 @@ 开头,使用与局部变量相同的命名规则。如 @@url@@header

变量类型 符合 Ruby 命名规范栗子 🌰 不符合 Ruby 命名规范栗子 🌰
局部变量 student_age StudentAge、_studentAge、__studentAge、age1
全局变量 $JUEJIN_URL $juejin_url、$juejinUrl、$url2
实例变量 @home_address @Home_address、@home_address、@address3
类变量 @@home_address @@Home_address、@@home_address、@@address4

常量命名规范

Ruby 中的常量通常以大写字母开头,如 Name、Age 等;Ruby 常量命令规范中,常量名由多个单词组成可以是使用驼峰命名法(FirstName)也可以使用下划线命名,使用下划线必须要下划线分割的所有单词的首字母大写(First_Name)。

方法命名规范

Ruby 中的方法名的命名与局部变量的命名规则一致,但是 Ruby 中的一些方法名中包含了特殊字符,如 ?, != ;这些特殊符号代表着一定的含义,这也是 Ruby 语言的一种设计理念。

方法不因为方法本身受到关注,而是简单的作为提供值的表达式融入到程序中。

关键字

Ruby 中的关键字大约有 40 个,通常都是一些简单的单一词汇。常用的关键字有 def 方法定义、class 类定义、if 条件判断等。


相关文章
|
3月前
|
开发者 Ruby
Ruby正则表达式的奥秘:如何用简单的语法构建强大的文本匹配与处理工具?
【8月更文挑战第31天】正则表达式是文本匹配的强大工具,通过简单模式即可实现复杂文本处理。作为动态、面向对象的语言,Ruby提供了全面的正则表达式支持,涵盖创建、匹配、替换及分割等功能。本文通过示例代码介绍如何在Ruby中使用正则表达式进行文本匹配,并分享了编写正则表达式的最佳实践,帮助开发者提升文本处理效率与准确性,更好地利用这一工具构建高效系统。
37 0
|
存储 前端开发 JavaScript
前端学 Ruby:熟悉 Ruby 语法
前端学 Ruby:熟悉 Ruby 语法
44 0
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
Ruby Python
红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语法,第一次亲密接触EP01
书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。 Ruby是一门在面向对象层面无所不用其极的解释型编程语言。 我们可以把编写Ruby代码看作是一场行为上的艺术,编码就像跳舞一样,Ruby的每一步都很优雅,几乎没有一步是多余的。
红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语法,第一次亲密接触EP01
|
Java C++ Ruby
Ruby Programming | 连载 06 - Ruby 面向对象
Ruby Programming | 连载 06 - Ruby 面向对象
Ruby Programming | 连载 06 - Ruby 面向对象
Ruby Programming | 连载 08 - Ruby 方法参数
Ruby Programming | 连载 08 - Ruby 方法参数
Ruby Programming | 连载 08 - Ruby 方法参数
Ruby Programming | 连载 07 - Ruby 对象的原生行为
Ruby Programming | 连载 07 - Ruby 对象的原生行为
Ruby Programming | 连载 07 - Ruby 对象的原生行为