源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Ruby字符串、条件、循环、数组、Hash、类基本操作笔记

  • 时间:2020-10-02 11:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Ruby字符串、条件、循环、数组、Hash、类基本操作笔记
[b]一、字符串操作[/b] [b]字符串插值[/b] 1.#{}: 任意放置在#{}中的合法Ruby代码都将被求值,并被替换为求值结果插入到原位置 2.单引号与双引号差别: 双引号允许字符转义,单引号不允许转义,里是什么字符,用户看到的就是什么字符 单引号不允许字符插值 [b]字符串拆分[/b] 1.以空格拆分:string.split(' ')字符串连接 方法一、'Ruby' + 'Monk', stdout: RubyMonk 方法二、"Monk".concat("Ruby") stdout: MonkRuby 方法三、"Ruby" << "Monk" stdout: RubyMonk [b]子字符串替换[/b] 替换第一个出现的搜索目标:"I should look into your problem when I get time".sub('I','We') 替换所有符合条件的字符串:"I should look into your problem when I get time".gsub('I','We') [b]二、条件与循环:Ruby中的控制结构[/b] [b]Ruby布尔表达式[/b] Ruby 使用 == 运算符来比较对象:name == "Bob" 取非表达式:! (name == 'Bob') if..else 结构 在 Ruby 语言中,? 和 : 可以理解为它们分别对应"then" 和 "else" Ruby语言中的循环 [b]1.无限循环 [/b]
[u]复制代码[/u] 代码如下:
loopdo   ..... end
[b]2.执行代码片段N次 [/b]
[u]复制代码[/u] 代码如下:
times do   ...... end
[b]三、数组[/b] [b]创建空数组[/b] '[]' 或者Array.new [b]在数组里查询数据 [/b]
[u]复制代码[/u] 代码如下:
[1, 2, 3, 4, 5][2]
结果是
[u]复制代码[/u] 代码如下:
3
Ruby的索引从开头开始是从0开始的,从结尾开始是从-1开始的 [b]数组的增长 [/b]
[u]复制代码[/u] 代码如下:
[1, 2, 3, 4, 5]<<"woot" 结果 [1, 2, 3, 4, 5, "woot"]
[b]基本数组运算 1.数组变换 [/b]
[u]复制代码[/u] 代码如下:
[1, 2, 3, 4, 5].map { |i| i + 1 }
结果
[u]复制代码[/u] 代码如下:
[2, 3, 4, 5, 6]
[b]2.过滤数组元素 [/b]
[u]复制代码[/u] 代码如下:
[1,2,3,4,5,6,7].delete_if{|i| i < 4 }
结果
[u]复制代码[/u] 代码如下:
[2, 4, 6]
提取长于五个字母的字符串
[u]复制代码[/u] 代码如下:
names = ['rock', 'paper', 'scissors', 'lizard', 'spock'] names.select {|word| word.length > 5}
结果
[u]复制代码[/u] 代码如下:
["scissors", "lizard"]
[b]3.删除元素[/b] 删除下面数组的元素‘5'
[u]复制代码[/u] 代码如下:
[1,3,5,4,6,7].delete 5 [1,2,3,4,5,6,7].delete_if{|i| i < 4} 
[b]迭代 1.each 循环 [/b]
[u]复制代码[/u] 代码如下:
array = [1, 2, 3, 4, 5] array.each do |i|   puts i end
[b]四、Ruby哈希[/b] [b]1.创建一个哈希[/b] 空哈希可以使用两个大括号{}来定义,Hash.new
[u]复制代码[/u] 代码如下:
restaurant_menu = {   "Ramen" => 3,   "Dal Makhani" => 4,   "Tea" => 2 }
[b]2.从哈希中取值[/b] 从restaurant_menu哈希中取得一碗拉面(Ramen)的价格 restaurant_menu["Ramen"] 结果 [b]3.修改哈希 添加新项 [/b]
[u]复制代码[/u] 代码如下:
restaurant_menu = {} restaurant_menu["Dal Makhani"] = 4.5 restaurant_menu["Tea"] = 2 4.遍历哈希 restaurant_menu = { "Ramen" => 3, "Dal Makhani" => 4, "Coffee" => 2 } restaurant_menu.each do | item, price |   puts "#{item}: $#{price}" end
结果
[u]复制代码[/u] 代码如下:
Ramen: $3 Dal Makhani: $4 Coffee: $2
用each方法把restaurant_menu中所有项目价格都提高10%
[u]复制代码[/u] 代码如下:
restaurant_menu = { "Ramen" => 3, "Dal Makhani" => 4, "Coffee" => 2 } restaurant_menu.each do |item, price|   restaurant_menu[item] = price + (price * 0.1) end
[b]5.从哈希中取键和值 [/b]每个哈希对象都有2个方法: keys 和 values。 keys方法返回一个包含哈希中所有的键的数组;类似的, values方法返回一个包含所有的值的数组。 获得restaurant_menu哈希中所有的键
[u]复制代码[/u] 代码如下:
restaurant_menu = { "Ramen" => 3, "Dal Makhani" => 4, "Coffee" => 2 } restaurant_menu.keys
结果
[u]复制代码[/u] 代码如下:
["Ramen", "Dal Makhani", "Coffee"]
[b]五、类[/b] Ruby使用两个空格缩进的惯例,代码块通常以关键字end封闭 通常,在某个类上调用方法 new 会创立一个实例
[u]复制代码[/u] 代码如下:
Object.new
[b]1.构建你自己的类 [/b]
[u]复制代码[/u] 代码如下:
class Rectangle end
[b]计算长方形的周长和面积类实例 [/b]
[u]复制代码[/u] 代码如下:
class Rectangle   def initialize(length, breadth)     @length = length     @breadth = breadth   end   def perimeter     2 * (@length + @breadth)   end   def area     @length * @breadth   end end
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部