type
status
date
slug
summary
tags
category
icon
password

第一章

1.2.1 对象

字符串、数值、时间等各种数据,在 Ruby 中都是对象
备注  字符串末尾的 \n 是换行符

1.2.2 方法

print 是一个方法。所谓方法,就是对象的行为。数值的加法或乘法运算、字符串的合并、某时刻一小时后或者一天后的计算等操作,都是通过执行方法来实现 print 方法的作用就是输出 () 里的内容 我们把执行方法时必需的条件称为参数

1.3.1 换行符与 \

程序会对字符串里 \ 后的字符做特殊处理,这个过程称为转义,\ 称为转义字符

1.3.2 ' ' 与 " "

也就是说,在单引号里,像 \n 这样的特殊字符不经过转义,程序会原封不动地直接输出。但也有例外,例如在字符串里想嵌入 \ 与单引号时,还是需要在之前加上 \

1.4 方法的调用

Ruby 在调用方法时可以省略 ()

1.5 puts 方法

如果想连续输出多个字符串,可以用逗号(, )分隔各字符串,程序会按顺序输出字符串 puts 方法与 print 方法稍有区别,puts 方法在输出结果的末尾一定会输出换行符

1.6 p 方法

使用 p 方法时,数值结果和字符串结果会以不同的形式输出
另外,使用 p 方法时,换行符(\n )、制表符(\t )等特殊字符不会转义,会像下面那样直接输出

1.7 中文的输出

这是由于编写程序时没有指定程序的编码方式造成的。Ruby 程序的编码方式,是通过在程序的首行代码添加注释“# encoding: 编码方式 ”来指定的(编码的规则称为 encoding)。我们称这个注释为魔法注释(magic comment)

1.8 数值表示与计算

Ruby 中的字符串是以字符串对象的形式存在的。同样地,数值也是以“数值对象”的形式存在的。也就是说,在程序里操作的都是数值对象
Ruby 的整数的表示方法很简单。直接输入数字就可以了
Fixnum 和 Float 是对象所属类(class)的名称 数值的输出与字符串输出一样,也是用 print 方法和 puts 方法

1.8.2 四则运算

在一般的编程语言里,乘法运算符用 *,除法运算符用 /。Ruby 也延续了这个习惯

1.8.3 数学相关的函数

除四则运算外,Ruby 中还可以使用数学函数,如平方根、sin 和 cos 等三角函数、指数函数等。使用数学函数时,必须在函数前加上 Math. 标识。
备注  不想在函数前加 Math. 时,则需要 include Math 这段代码

1.9 变量

变量是程序里不可缺少的元素之一。可以将其理解为给对象贴上的标签
变量名 = 对象
我们称这个过程为“将对象赋值给变量”
notion image
另外,变量还可以清晰地表示某个值所代表的含义。因此,为变量起一个容易理解的名称是非常重要的
传递给 print 方法的字符串参数也可以像下面这样写:
"表面积 = #{area}\n" 为一个整体的字符串。#{area} 这样的写法,表示把 area 的值嵌入到字符串中。在字符串里使用 #{...} 这样的写法,可以把通过计算后得到的值嵌入到字符串中。输出结果里除了可以嵌入变量名,也可以嵌入 "表面积 = #{(x*y + y*z + z*x) * 2}\n" 这样的计算公式,得到的输出结果是一样的

1.10 注释

若希望记录
  • 程序的名称、作者、发布条件等信息
  • 程序说明
等内容时,就需要用到注释
Ruby 用# 表示注释的开始 (单行注释) 。某行是以 # 开头时,则整行都是注释。某行中间出现# 时,则# 以后部分就都是注释。另外,行的开头用 =begin 和 =end 括起来的部分也是注释 (多行注释) 。这样的注释方法,在程序开头或结尾写长说明时会经常用到
除此以外,注释还有使某行代码“暂时不执行”的作用
Ruby 没有 C 中使行的某部分成为注释的写法,只要是以# 开始的部分,到行末为止一定都是注释

1.11 控制语句

编程语言中都有控制语句
控制语句能让程序在某种条件下,改变执行顺序,或者只执行某一部分

控制语句的分类

控制语句大致可以分成以下几类。
  • 顺序控制 :按照程序的编写顺序,从头到尾执行
  • 条件控制 :若某条件成立,则执行○○,否则执行 ××
  • 循环控制 :在某条件成立之前,反复执行○○
  • 异常控制 :发生某种异常时,执行○○
顺序控制是程序最常见的处理方式。若不做特殊处理,程序会按照代码的编写顺序执行
条件控制,是指根据条件执行分支处理。如果没有满足条件,程序会跳过某部分处理,继续执行其他处理。在 Ruby 中,可使用的条件判断语句有 if 、unless 、case 等
循环控制,是指根据条件反复执行某个处理。在这种情况下,该处理的执行顺序会与程序编写的顺序不同,执行过一次的程序,会从头再执行一次
异常控制有点特殊。程序执行时,意料之外的错误发生后,就会跳出正在执行的那部分程序,然后执行其他地方的程序,使程序能继续执行下去。根据实际情况,有时也会让程序马上结束
接下来,我们进一步介绍条件控制和循环控制

1.12 条件判断:if~then~end

if 语句用于根据条件变化,改变程序的行为。if 语句的语法如下所示:
if 条件 then 条件成立时执行的处理end
条件一般是指能返回 true 或者 false 的表达式。例如比较两个值,相同则返回 true ,不同则返回 flase ,这样的表达式可作为条件
我们在比较数值的大小时,会用到等号、不等号等运算符。在 Ruby 中,= 已经被用作赋值运算了,因此判断是否相等的运算符要用两个并列等号== 来代替= 。另外, 和 运算符在 Ruby 中分别用 <= 和 >= 来替代
条件表达返回的结果为 true 或者 false ,true 表示条件成立,false 表示条件不成立 我们也可以使用== 运算符比较字符串。字符串内容相同则返回 true ,内容不同则返回 false 
判断值不相等时要使用!= 运算符,它与≠意思相同
如果希望对条件成立和条件不成立时采取不同的处理,我们可以使用 else 关键字
if 条件 then 
条件成立时执行的处理
else 
条件不成立时执行的处理
end

1.13 循环

1.13.1 while 语句

while 语句是执行循序时用到的一种基本语句。同样地,do 关键字可以省略
while 循环条件 do 
希望循环的处理
end

1.13.2 times 方法

循环处理的循环次数如果已确定,使用 times 方法会更加简单
循环次数 .times do 
希望循环的处理
end
times 方法被称为迭代器(iterator)。迭代器是 Ruby 的一个特色功能。从迭代器的英语拼写方法我们可以知道,迭代器表示的是循环(iterate)的容器(-or)。类似地,运算符(operator)也就是运算(operate)的容器(-or),等等。总之,迭代器就是指用于执行循环处理的方法。
Relate Posts
咖啡学习笔记我曾梦想成为宇航员
JP
JP
闲散青年,爱技术与艺术
2021-2024 JP.

JP军士的孤独之心俱乐部 | 闲散青年,爱技术与艺术

Powered by NotionNext 4.1.1.