由于部门的自动化是由一个前辈实现的,他使用的Ruby的语言来实现的,所以需要学习一下Ruby语言,争取在15天左右可以掌握Ruby语言!加油~~~
1、常量&变量
# 1、常量
# 一般用大写字母开头
# 我们一般用全大写来定义一个常量
#
# 定义一个常量
VAR1 = 100
VAR2 = 20
# 在字符串中打印这个常量
puts "#{VAR1}"
# 转换常量为字符串
puts "#{VAR1.to_s}"
# 2、变量
# 全局变量是最顶级变量,用$符开头,可以在类中使用,可以在方法中使用功能,可以在模块中使用
#
$info = "我这是一个全局变量"
# Ruby语言中自带的全局变量
# $! 最近一次的错误信息
# $@ 错误产生的位置
# $_ gets最近读的字符串
# $. 解释器最近读的行数
# $& 最近一次和正则表达式匹配的字符串
# $~ 作为子表达式组的最近一次匹配
# $n 最近匹配的第n个子表达式
# $= 是否区分大小写的标志
# $/ 输入记录分隔符
# $\ 输出记录分隔符
# $0 脚本的文件名
# $* 命令行参数
# $$ 解释器进程id
# $? 最近一次子进程退出的状态
#
# 局部变量只能在作用域中使用
# 必须以小写字母或者下划线开头
_info = "我这是一个局部变量"
puts _info
# 在类中定义一个局部变量
class TestClass
_info = "类中的局部变量"
puts _info
puts $info
end
# 在模块中定义一个局部变量
module TestModule
_info = "模块中的局部变量"
puts _info
end
# 在方法中定义局部变量Te
def testFunc
_info = "这个是方法中的局部变量"
puts _info
end
puts $$
2、数值型
# 数值型 整数 浮点型
#
# 整数有两种类型,Fixnum Bignum
#
# 当整数大于2的30次方,则类型为Bignum
# 当整数小于2的30次方,则类型为Fixnum
i = 2
# .class方法,查看变量的类型
#
puts i.class
# Integer
#
f = 12.33
puts f.class
# Float
3、范围
# 范围:定义两个边界就可以了
#
r1 = 3..5 #包含5
r2 = 3...5 #不包含5
puts r1 === 5
puts r2 === 5
puts r1 === 3
puts r2 === 3
# true
# false
# true
# true
# ===判断右边的对象是否在左边的对象内
#
# 范围是一个对象,我们看下这个对象有什么方法
#
a1 = r1.to_a
# to_a方法,转换一个范围为一个数组
#
puts a1.class
# Array
#
puts r1.max
# 求一个范围的最大值
puts r1.min
# 计算一个范围的最小值
puts r1.first
# 计算一个范围的第一个值
#
puts r1.last
# 计算一个范围的最后一个值
puts r1.end
# 计算一个范围的最后一个值
#
#
#
puts a1.size
# 计算数组的长度
puts a1.length
# 计算数组的长度
#
# 范围还有3个常用的迭代器方法
# # regect 将该范围转换为一个数组,并删除满足条件的元素
# # select 将该范围转换为一个数组,并保留满足条件的元素
# # each 输出迭代范围的每一个元素
#
三个迭代器的用法
# 范围还有3个常用的迭代器方法
# # regect 将该范围转换为一个数组,并删除满足条件的元素
# # select 将该范围转换为一个数组,并保留满足条件的元素
# # each 输出迭代范围的每一个元素
#
count = 1..10
print count.reject{|i| i % 2 == 0}
print "\n"
print count.select{|i| i % 2 == 0}
print "\n"
count.each do |i|
puts i
end
4、符号
# 符号
# 符号对象是一个字符串,一个类,一个方法或者一个标识符的内部表示形式,创建符号对象就在对象前面加一个冒号就可以了
#
dcy = "我是你的粉丝"
ly = :dcy
puts ly == :"dcy"
# 判断ly是否是变量dcy的对应的符号对象
#
def fangfa
puts "我记得你"
end
fy = :fangfa
puts fy == :"fangfa"
# 只要对象名相同,则产生的符号对象也相同,由于字符串和符号对象之间是一一对应的,所以字符串和符号对象就额可以通过to_s和to_sym来互相转换
dcy = "我是你的封死"
dy = :"我是你的封死"
puts dcy.to_sym == dy
puts dy.to_s == dcy
dcy = "我是你的封死"
ly =:dcy
# 构建一个符号对象的方法2
dcyandy=%s{dcy}
puts ly == dcyandy
5、运算符和赋值运算符
# 算数运算符和赋值运算符
# 算数运算符
# **
# *
# +
# -
# /
# %
#
# 赋值运算符
# =
# +=
# -=
# *=
# /=
# %=
# **=
#