Ruby字元串、條件、循環、數組、Hash、類基本操作筆記
来源:互联网 发布:网络推广部门口号 编辑:程序博客网 时间:2024/05/15 13:59
一、字元串操作
字元串插值
1.#{}: 任意放置在#{}中的合法Ruby代碼都將被求值,並被替換為求值結果插入到原位置
2.單引號與雙引號差別:
雙引號允許字元轉義,單引號不允許轉義,里是什麼字元,用戶看到的就是什麼字元
單引號不允許字元插值
字元串拆分
1.以空格拆分:string.split(' ')字元串連接
方法一、'Ruby' + 'Monk', stdout: RubyMonk
方法二、"Monk".concat("Ruby") stdout: MonkRuby
方法三、"Ruby" << "Monk" stdout: RubyMonk
子字元串替換
替換第一個出現的搜索目標:"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')
二、條件與循環:Ruby中的控制結構
Ruby布爾表達式
Ruby 使用 == 運算符來比較對象:name == "Bob"
取非表達式:! (name == 'Bob')
if..else 結構 在 Ruby 語言中,? 和 : 可以理解為它們分別對應"then" 和 "else" Ruby語言中的循環
1.無限循環
loopdo.....end
2.執行代碼片段N次
times do......end
三、數組
創建空數組 '[]' 或者Array.new
在數組裡查詢數據
[1, 2, 3, 4, 5][2]
結果是
3
Ruby的索引從開頭開始是從0開始的,從結尾開始是從-1開始的
數組的增長
[1, 2, 3, 4, 5]<<"woot" 結果[1, 2, 3, 4, 5, "woot"]
基本數組運算
1.數組變換
[1, 2, 3, 4, 5].map { |i| i + 1 }
結果
[2, 3, 4, 5, 6]
2.過濾數組元素
[1,2,3,4,5,6,7].delete_if{|i| i < 4 }
結果
[2, 4, 6]
提取長於五個字母的字元串
names = ['rock', 'paper', 'scissors', 'lizard', 'spock']names.select {|word| word.length > 5}
結果
["scissors", "lizard"]
3.刪除元素
刪除下面數組的元素『5'
[1,3,5,4,6,7].delete 5[1,2,3,4,5,6,7].delete_if{|i| i < 4}
迭代 1.each 循環
array = [1, 2, 3, 4, 5]array.each do |i|puts iend
四、Ruby哈希
1.創建一個哈希 空哈希可以使用兩個大括弧{}來定義,Hash.new
restaurant_menu = {"Ramen" => 3,"Dal Makhani" => 4,"Tea" => 2}
2.從哈希中取值 從restaurant_menu哈希中取得一碗拉麵(Ramen)的價格
restaurant_menu["Ramen"] 結果
3.修改哈希 添加新項
restaurant_menu = {}restaurant_menu["Dal Makhani"] = 4.5restaurant_menu["Tea"] = 2 4.遍歷哈希restaurant_menu = { "Ramen" => 3, "Dal Makhani" => 4, "Coffee" => 2 }restaurant_menu.each do | item, price |puts "#{item}: $#{price}"end
結果
Ramen: $3Dal Makhani: $4Coffee: $2
用each方法把restaurant_menu中所有項目價格都提高10%
restaurant_menu = { "Ramen" => 3, "Dal Makhani" => 4, "Coffee" => 2 }restaurant_menu.each do |item, price|restaurant_menu[item] = price + (price * 0.1)end
5.從哈希中取鍵和值
每個哈希對象都有2個方法: keys 和 values。
keys方法返回一個包含哈希中所有的鍵的數組;類似的, values方法返回一個包含所有的值的數組。
獲得restaurant_menu哈希中所有的鍵
restaurant_menu = { "Ramen" => 3, "Dal Makhani" => 4, "Coffee" => 2 }restaurant_menu.keys
結果
["Ramen", "Dal Makhani", "Coffee"]
五、類
Ruby使用兩個空格縮進的慣例,代碼塊通常以關鍵字end封閉 通常,在某個類上調用方法 new 會創立一個實例
Object.new
1.構建你自己的類
class Rectangleend
計算長方形的周長和面積類實例
class Rectangledef initialize(length, breadth)@length = length@breadth = breadthenddef perimeter2 * (@length + @breadth)enddef area@length * @breadthendend
- Ruby字元串、條件、循環、數組、Hash、類基本操作筆記
- Ruby 字元串處理
- RUBY-hash操作
- Ruby哈希表基本操作
- ruby 基本操作符
- Hash表基本操作
- hash表的基本操作
- ruby hash
- ruby-Hash
- python中文件基本操作
- python中文件基本操作
- Ruby中的Hash哈希类型基本操作方法小结
- Thinkphp模板中截取字元串函数
- JAVA实现hash表的基本操作
- [Ruby] Ruby 的hash默认值
- mfc下文件的基本操作
- Linux下文件/目录基本操作
- [Python ] python中文件的基本操作
- lua gc
- CF #301 504C C. Ice Cave BFS
- 利用enum实现swtich String类型
- ruby+nokogori抓取糗事百科前10頁並存儲進資料庫示例
- 1078FatMouse and Cheese
- Ruby字元串、條件、循環、數組、Hash、類基本操作筆記
- 傻瓜教程:把iPhone程序连接真机调试
- H.图像匹配(安徽省2014年“京胜杯”大学生程序设计竞赛)
- Ruby中的反射(Reflection)應用實例
- 2840: 编程题AB-面粉质量差
- Linux下利用script命令录制并回放终端会话
- vs2010 单文档MFC 通过加载位图文件作为客户区背景
- 解析 ruby 全局變數
- gtk的国际化