锄淫鲷
2025-6-4 20:09:38
书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。
Ruby是一门在面向对象层面无所不用其极的解释型编程语言。
我们可以把编写Ruby代码看作是一场行为上的艺术,编码就像跳舞一样,Ruby的每一步都很优雅,几乎没有一步是多余的。
第一行代码
进入系统的irb终端,输入第一行代码:- irb(main):001:0> puts "你好 Ruby!"
- 你好 Ruby!
- => nil
复制代码 puts关键字是 Ruby 语言里用来打印的基本命令。第三行输出的nil 是什么?其实是puts命令的返回值, puts命令永远返回 nil,nil也是 Ruby 的空值,可以理解为Python中的None关键字。
Ruby同时提供了一个更简单的输出对象内容的方法:p- irb(main):002:0> p "你好 Ruby!"
- "你好 Ruby!"
- => "你好 Ruby!"
复制代码 puts方法输出数值 1 和字符串 "1"时,结果都只是单纯的 1。这样一来,我们就无法判断输出的结果到底是属于哪个对象。此种种情况下,p方法可以很好地解决这个问题。使用 p方法时,数值结果和字符串结果会以不同的形式输出:- irb(main):003:0> puts "1"
- 1
- => nil
- irb(main):004:0> puts 1
- 1
- => nil
- irb(main):005:0> p "1"
- "1"
- => "1"
- irb(main):006:0> p 1
- 1
- => 1
- irb(main):007:0>
复制代码 藉此,编码过程中我们可以通过p方法快速打印一个变量并且知晓其数据类型。
和Python一样,Ruby3也具有print方法:- irb(main):007:0> print "你好","Ruby"
- 你好Ruby=> nil
- irb(main):008:0> puts "你好","Ruby"
- 你好
- Ruby
- => nil
复制代码 print方法与puts方法和p方法稍有区别,puts方法在输出结果的末尾一定会输出换行符,而print方法则不会,由此,我们可以将print方法理解为省略换行的puts方法,在打印多个变量时,添加换行的puts方法无疑更友好。
单引号和双引号
Ruby3的字符串对象生成有两种方式,字符串文字值加单引号或加双引号。 两种方式主要区别在于构造文字量时,对字符串的处理次数不同。 单引号时,Ruby对字符串值不做处理,里边是什么就是什么。 双引号时,Ruby首先要查找文本中要替换的字符,即带反斜杠的字符,用二进制替换。- irb(main):011:0> puts "你好 \n Ruby"
- 你好
- Ruby
- => nil
- irb(main):012:0> puts '你好 \n Ruby'
- 你好 \n Ruby
- => nil
复制代码 也可以理解为单引号是原样输出,而双引号则会替换为变量实体。
空白字符
和Python不同的是,空格和制表符之类的空格字符通常在Ruby3代码中会被忽略,除非它们出现在字符串中。但是,有时它们被用来解释模棱两可的陈述。启用-w选项时,此类解释会产生警告:- irb(main):013:0> puts '你好 \n Ruby', "前面好多空格"
- 你好 \n Ruby
- 前面好多空格
- => nil
复制代码 长字符串
Ruby也可以多行构建字符串。在 |
|
|
|
相关推荐
|
|