Ruby 关键知识点总结

Ruby 关键知识点总结

概论
  1. 分号, 换行符为语句结束; + - \ 表示语句后续
  2. ‘’#’’ 单行注释 , =begin … =end 多行注释
  3. 有IRb 控制台程序, 逐行执行, 命令行输入irb即可, 使用irb --simple-prompt 让结果更易读, exit 退出
  4. 脚本编程(.rb文件), 使用解释器ruby 来运行
  5. puts 输出数组【1,2,3】 会分成三行输出,
方法
  1. 方法名需要小写开头(大写开头会看作常量), 方法要找调用之前定义

  2. 局部变量: 小写字母/ 下划线_ 开头,

    def say_hello(name='World')
     puts "Hello, #{
           name}!"			# 使用#{}来访问任何变量或常量的值
    end
    
    say_hello         # => "Hello, World!"
    say_hello("John") # => "Hello, John!"
    
  3. 可变参数def sample(*test)

  4. 返回值: 默认返回最后一个语句的值; 或者 return a, b

全局变量
  1. 以$ 开头, 默认为nil的初始值, 用 -w 会报警告, 由于改变全局状态, 不建议使用
  2. 使用全局变量也要加KaTeX parse error: Expected 'EOF', got '#' at position 26: … `puts 'hello, #̲{ num}’` 否则错误很难找啊!
常量
  1. 以大写字母开头, 定义在类/模块内的可以在内部访问; 定义在外面的可以全局访问
  2. 常量不能定义在方法内
  3. 引用一个未初始化常量有错误, 对已经初始化的常量赋值也有警告
伪变量
  1. 特殊的量如下

    • self: 当前方法的接收器对象。
    • true: 代表 true 的值。
    • false: 代表 false 的值。
    • nil: 代表 undefined 的值。
    • __FILE__: 当前源文件的名称。
    • __LINE__: 当前行在源文件中的编号。
字符串
  1. String 是一个提供的类, 有庞大的方法集

  2. 创建: 使用 ’ or ‘’ 来做(多用’’, 有时候字符串内部有 ’ )

  3. 转义字符: \b 退格, \r 回车符, \s 空格, \t tab, \a 蜂鸣警告

  4. 常用方法

方法调用方式 返回值 描述
str.length Integer 字符串的长度,空字符串返回 0
str.include?(other_str) TrueFalse 字符串包含,传入的参数为另一个字符串,如果该字符串中包含该子串,则返回True,否则返回False
str.insert(index, other_str) new_str 字符串插入,参数index是待插入的下标,other_str是另一个字符串,返回的是插入后新的字符串,下标从 0 开始计算
str.split(pattern=$;, [limit]) Array 字符串分割,将字符串按照pattern进行分割,默认分割符为空格,返回值是一个包含若干字符串的数组
str.gsub(pattern, replacement) new_str 字符串替换,将字符串按照pattern匹配的字符更换为replacement,返回替换后的字符串
str.replace(other_str) other_str 字符串整体替换,将字符串整体替换成新的字符串
str.delete([other_str]+) new_str 字符串删除,传入参数[other_str]+可包含多个字符,该方法匹配到str中的所有字符并删除,返回新的字符串
str.strip new_str 清除空格,清除掉str中字符串前后的所有空格,换行符,回车符。不包含字符间的空格,返回新的字符串
str.reverse reverse_str 字符串翻转,将字符串顺序翻转,返回翻转后的字符串
str.to_i Integer 字符串转换为数字, 如果字符串以数字开头,则转换为开头数字的整型值,如果字符串不以数字开头,则返回 0
str.chomp new_str 去掉字符串末尾的\n\r
str.chop new_str 去掉字符串末尾的最后一个字符,不管是\n\r还是普通字符
str.downcase new_str 将字符串转换为全小写
str.upcase new_str 将字符串转换为全大写
数组
  1. 数组Array可以存储 String, Integer, Fixnum, Hash, Symbol等对象, 也可以是其他Array(成为多维数组), 添加元素时候, 会自动增长.

  2. 创建:

    1. new方法: arr = Array.new, new(5) 表示长为5的空Nil数组, arr = Array.new(5, ‘coder’)
    2. Array.[]( 1, 2, 3)
    3. Array[1, 2, 3]
    4. [1, 2, 3] # 最常用
  3. 访问数组元素, 用index索引, 从0开始, -1为最后一个. eg: arr[2,4](表示范围), arr[1…4], arr.at(0)

    1. 还可以用 arr.take(3) 访问前3个, drop(3) 访问索引3之后的所有元素
    2. (1…5) 这就表示Range了, (1…5).to_a 把Range 转换成 Array
  4. 常用方法

    方法调用方式 返回值 描述
    arr.empty? truefalse 判段数组是否为空
    arr.push(element) new_array 在数组的最后加入元素element,返回加入元素后的新数组
    arr << 6 new_array 同上
    arr.insert (index, elements) new_array 在指定位置index塞进元素elements,可以塞多个元素 arr.insert (3, 'a', 'b', 'c')
    arr.delete(element) element 删除数组中所有为element的元素
    arr.compact new_array 删除数组中所有空元素nil,返回删除空元素后的新数组
    arr.uniq new_array 清除数组中的重复元素,返回去除重复后的新数组
    arr.reverse new_array 翻转arr,返回翻转后的新数组
    arr.clear [ ] 删除数组中的所有元素,返回空数组
    arr.count Integer 没有参数时,返回数组的大小,带有参数时,返回数组中与参数相同元素的个数
    arr.includes?(element) truefalse 判断数组arr中是否包含元素element
    arr.sort new_array 将数组按照首字母进行排序,也可定制排序规则
    arr.sample element 从数组中随机取样,带参数取样个数,则可取多个样本
    arr.flatten new_array 将多维数组转换成一维数组
    arr.join(',&#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值