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 变量
变量是程序里不可缺少的元素之一。可以将其理解为给对象贴上的标签
变量名 = 对象
我们称这个过程为“将对象赋值给变量”
另外,变量还可以清晰地表示某个值所代表的含义。因此,为变量起一个容易理解的名称是非常重要的
传递给
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),等等。总之,迭代器就是指用于执行循环处理的方法。
- Author:JP
- URL:https://jpblog.xyz/article/10176c46-1043-80cc-994a-fc394d183898
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts