书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。
Ruby是一门在面向对象层面无所不用其极的解释型编程语言。
我们可以把编写Ruby代码看作是一场行为上的艺术,编码就像跳舞一样,Ruby的每一步都很优雅,几乎没有一步是多余的。
第一行代码
进入系统的irb终端,输入第一行代码:
puts关键字是 Ruby 语言里用来打印的基本命令。第三行输出的nil 是什么?其实是puts命令的返回值, puts命令永远返回 nil,nil也是 Ruby 的空值,可以理解为Python中的None关键字。
Ruby同时提供了一个更简单的输出对象内容的方法:p
puts方法输出数值 1 和字符串 "1"时,结果都只是单纯的 1。这样一来,我们就无法判断输出的结果到底是属于哪个对象。此种种情况下,p方法可以很好地解决这个问题。使用 p方法时,数值结果和字符串结果会以不同的形式输出:
藉此,编码过程中我们可以通过p方法快速打印一个变量并且知晓其数据类型。
和Python一样,Ruby3也具有print方法:
print方法与puts方法和p方法稍有区别,puts方法在输出结果的末尾一定会输出换行符,而print方法则不会,由此,我们可以将print方法理解为省略换行的puts方法,在打印多个变量时,添加换行的puts方法无疑更友好。
单引号和双引号
Ruby3的字符串对象生成有两种方式,字符串文字值加单引号或加双引号。 两种方式主要区别在于构造文字量时,对字符串的处理次数不同。 单引号时,Ruby对字符串值不做处理,里边是什么就是什么。 双引号时,Ruby首先要查找文本中要替换的字符,即带反斜杠的字符,用二进制替换。
也可以理解为单引号是原样输出,而双引号则会替换为变量实体。
空白字符
和Python不同的是,空格和制表符之类的空格字符通常在Ruby3代码中会被忽略,除非它们出现在字符串中。但是,有时它们被用来解释模棱两可的陈述。启用-w选项时,此类解释会产生警告:
长字符串
Ruby也可以多行构建字符串。在
BEGIN和END语句
Ruby可以在程序中声明BEGIN作为初始执行的逻辑以及END作为程序结束时执行的逻辑:
代码注释
注释可以在Ruby解释器中隐藏一行,一行的一部分或几行,作为不执行的代码,可以在行的开头使用井号(#)
注释也可以在语句或表达式后的同一行上:
也可以通过使用=begin/=end从Ruby3解释器中隐藏了多行代码:
编辑器(Vscode)
如果厌倦了在irb命令行中编写Ruby代码,我们也可以在编辑器中随心所欲地编写,这里推荐微软开源的Vscode编辑器,下载地址:https://code.visualstudio.com/
安装好之后,只需要安装ruby插件即可:
随后编写test.rb文件:
右键运行Ruby脚本:
简单方便,开箱可用。
结语
Ruby可以以最少的代码量解决问题,又不失可读性,优雅而又不乏实用,如果你有梦想,就一定看得到这颗红宝石和梦中的一样动人妖娆。
领取专属 10元无门槛券
私享最新 技术干货