找回密码
 立即注册
首页 资源区 代码 红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语 ...

红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语法,第一次亲密接触EP01

锄淫鲷 7 天前
书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。
Ruby是一门在面向对象层面无所不用其极的解释型编程语言。
我们可以把编写Ruby代码看作是一场行为上的艺术,编码就像跳舞一样,Ruby的每一步都很优雅,几乎没有一步是多余的。
第一行代码

进入系统的irb终端,输入第一行代码:
  1. irb(main):001:0> puts "你好 Ruby!"  
  2. 你好 Ruby!  
  3. => nil
复制代码
puts关键字是 Ruby 语言里用来打印的基本命令。第三行输出的nil 是什么?其实是puts命令的返回值, puts命令永远返回 nil,nil也是 Ruby 的空值,可以理解为Python中的None关键字。
Ruby同时提供了一个更简单的输出对象内容的方法:p
  1. irb(main):002:0> p "你好 Ruby!"  
  2. "你好 Ruby!"  
  3. => "你好 Ruby!"
复制代码
puts方法输出数值 1 和字符串 "1"时,结果都只是单纯的 1。这样一来,我们就无法判断输出的结果到底是属于哪个对象。此种种情况下,p方法可以很好地解决这个问题。使用 p方法时,数值结果和字符串结果会以不同的形式输出:
  1. irb(main):003:0> puts "1"  
  2. 1  
  3. => nil  
  4. irb(main):004:0> puts 1  
  5. 1  
  6. => nil  
  7. irb(main):005:0> p "1"  
  8. "1"  
  9. => "1"  
  10. irb(main):006:0> p 1  
  11. 1  
  12. => 1  
  13. irb(main):007:0>
复制代码
藉此,编码过程中我们可以通过p方法快速打印一个变量并且知晓其数据类型。
和Python一样,Ruby3也具有print方法:
  1. irb(main):007:0> print "你好","Ruby"  
  2. 你好Ruby=> nil  
  3. irb(main):008:0> puts "你好","Ruby"  
  4. 你好  
  5. Ruby  
  6. => nil
复制代码
print方法与puts方法和p方法稍有区别,puts方法在输出结果的末尾一定会输出换行符,而print方法则不会,由此,我们可以将print方法理解为省略换行的puts方法,在打印多个变量时,添加换行的puts方法无疑更友好。
单引号和双引号

Ruby3的字符串对象生成有两种方式,字符串文字值加单引号或加双引号。 两种方式主要区别在于构造文字量时,对字符串的处理次数不同。 单引号时,Ruby对字符串值不做处理,里边是什么就是什么。 双引号时,Ruby首先要查找文本中要替换的字符,即带反斜杠的字符,用二进制替换。
  1. irb(main):011:0> puts "你好 \n Ruby"  
  2. 你好   
  3. Ruby  
  4. => nil  
  5. irb(main):012:0> puts '你好 \n Ruby'  
  6. 你好 \n Ruby  
  7. => nil
复制代码
也可以理解为单引号是原样输出,而双引号则会替换为变量实体。
空白字符

和Python不同的是,空格和制表符之类的空格字符通常在Ruby3代码中会被忽略,除非它们出现在字符串中。但是,有时它们被用来解释模棱两可的陈述。启用-w选项时,此类解释会产生警告:
  1. irb(main):013:0> puts    '你好 \n Ruby',    "前面好多空格"  
  2. 你好 \n Ruby  
  3. 前面好多空格  
  4. => nil
复制代码
长字符串


Ruby也可以多行构建字符串。在
您需要登录后才可以回帖 登录 | 立即注册