1.ruby的两种运行方式:ruby方式咋(在命令行中输入ruby xxx.rb)和irb方式(在命令行中输入 irb)
注意:可以在命令后添加 -E UTF-8 指定编码格式
例:ruby -E UTF-8 XXX.rb irb -E UTF-8
2.输出的三种方式:print,puts,p
区别:puts 每个字符串输出后都会添加换行符
p:字符串输出时会添加引号,同时对特殊字符不进行转义,原样输出
注意:单引号中的内容换不进行转义,原样输出
输出多个时,可以使用逗号隔开
字符串中嵌套变量 #{变量名}
3.===的意义
1.在通常情况下与==一样
2.在Range中用于判断等会右边的对象包含于等号左边的Range 例:(1..10)===5 #true
3.在正则表达式中用于判断一个字符是否匹配模式 例:/aa/==="aaabb" #true
4.Class定义中用于判断一个对象是否是类的实例 例: String==="aaa" #true
5.Symbol定义中用于判断等会两边的符号对象是否相同 例::s==="s" #true
4.注释分为:单行注释(#注释内容)和多行注释(=begin 注释内容 =end)
5.数据结构分为数组和散列
1.数组 names=['aa','bb',''cc] 可以使用names.size
遍历: 数组.each do |变量|
执行操作
end
2.散列: person={:name=>"张三",:age=>23}或者person={name:"张三",age=23}
遍历:散列.each do |键变量,值变量|
执行操作
end
6.运行时参数可以通过#{ARVG[index]}进行获取,获取到的都是字符串,可以通过字符串.to_i方法进行转换
7.读取文件
def read_file(filename)
file=""
begin
file=File.open(filename)
file.each_line do |line|
puts line
end
rescue
puts "file not found"
ensure
if file != ""
file.close
end
end
end
8.需要使用其他库文件中的方法时,需要先引入库文件(require "date"),而且返回布尔类型值的函数名都要以?结尾
9.命名规则
局部变量:以英文字母或_开头,引用前必须初始化
全局变量:以$开头
实例变量:以@开头,默认初始化为nil
类变量:以@@开头
常量:以大写字母开头,且对已赋值的常量重新复制时会发出警告信息
方法名和变量名如果由多个单词组成,使用下划线隔开 如 read_file
类名和模块名如果有多个单词组成,使用驼峰命名法