亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Ruby 基礎(chǔ)語法

2019-11-10 20:23:43
字體:
供稿:網(wǎng)友

在 Ruby 中,一切皆對象,包括字符串和 nil 都是。

字符串

"foo" + "bar" # 字符串拼接=> "foobar"first_name = "Michael" # 變量賦值"#{first_name} Hartl" # 字符串插值 #{變量名}=> "Michael Hartl"# 關(guān)于單雙引號Ruby 不會對單引號字符串進(jìn)行插值操作 "foobar".length # 獲取字符串長度=> 6

ruby中自帶函數(shù)

# 是否為空 empty? 方法# 注意,empty? 方法末尾有個問號,這是 Ruby 的約定,說明方法返回的是布爾值,即 true 或 false。"foobar".empty?=> false"".empty?=> true# if else 用法if s.nil? "The variable is nil"elsif s.empty? "The string is empty"elsif s.include?("foo") "The string includes 'foo'" # 是否包含 'foo'end=> "The string includes 'foo'"# &&(與)、||(或)和 !(非)運算符x = "foo"y = ""puts "Both strings are empty" if x.empty? && y.empty?=> nilputs "One of the strings is empty" if x.empty? || y.empty?=> "One of the strings is empty"=> nilputs "x is not empty" if !x.empty?=> "x is not empty"=> nil# to_s 方法基本上可以把任何對象轉(zhuǎn)換成字符串nil.to_s=> ""nil.empty?NoMethodError: undefined method `empty?` for nil:NilClassnil.to_s.empty? # 消息串聯(lián)=> true# 測試對象是否為空"foo".nil?=> false"".nil?=> falsenil.nil?=> true# if 關(guān)鍵詞 用法 表達(dá)式為真值時才執(zhí)行的語句# 還有個對應(yīng)的 unless 關(guān)鍵字也可以這么用puts "x is not empty" if !x.empty?string = "foobar"puts "The string '#{string}' is nonempty." unless string.empty?

nil 對象的特殊性,除了 false 本身之外,所有 Ruby 對象中它是唯一一個布爾值為“假”的。 我們可以使用 !!(讀作“bang bang”)對對象做兩次取反操作,把對象轉(zhuǎn)換成布爾值:

!!nil=> false

除此之外,其他所有 Ruby 對象都是“真”值,數(shù)字 0 也是:

!!0=> true

數(shù)組

# 字符串轉(zhuǎn)為數(shù)組 split "foo bar baz".split # 把字符串拆分成有三個元素的數(shù)組=> ["foo", "bar", "baz"]# 根據(jù)字符 轉(zhuǎn)化"fooxbarxbazx".split('x')=> ["foo", "bar", "baz"]a = [42, 8, 17]a[0] # Ruby 使用方括號獲取數(shù)組元素=> 42a[-1] # 索引還可以是負(fù)數(shù)=> 17a.first=> 42a.second=> 8a.last == a[-1] # 用 == 運算符對比 != | > | < | <= | >==> true# 求數(shù)組長度x = a.length # 和字符串一樣,數(shù)組也可以響應(yīng) length 方法=> 3a.empty?=> falsea.include?(42) # 是否存在42這個值=> truea.sort # sort 升序排序=> [8, 17, 42]a.reverse # 數(shù)組反轉(zhuǎn) | 字符串反轉(zhuǎn) 也是這個=> [17, 8, 42]a.shuffle # shuffle 隨機(jī)排序=> [17, 42, 8]# 修改數(shù)組中值的順序[改變key值],加上 !a.sort!# 向數(shù)組中追加元素a.push(6) # 把 6 加到數(shù)組末尾=> [42, 8, 17, 6]a << 7 # 把 7 加到數(shù)組末尾=> [42, 8, 17, 6, 7]a << "foo" << "bar" # 串聯(lián)操作=> [42, 8, 17, 6, 7, "foo", "bar"]# join 數(shù)組轉(zhuǎn)化為字符串 與 split 相反a.join # 沒有連接符a.join(', ') # 連接符是一個逗號和空格

值域

# 值域(range)0..9# 轉(zhuǎn)為數(shù)組 to_a (0..9).to_a # 調(diào)用 to_a 時要用括號包住值域=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 值域也可以使用字符串定義('a'..'e').to_a=> ["a", "b", "c", "d", "e"]# 值域經(jīng)常用于獲取數(shù)組的一組元素a = %w[foo bar baz quux] # %w 創(chuàng)建一個元素為字符串的 數(shù)組=> ["foo", "bar", "baz", "quux"]a[0..2]=> ["foo", "bar", "baz"]# 獲取2至數(shù)組最后一位的元素a[2..(a.length-1)] # 顯式使用數(shù)組的長度=> [2, 3, 4, 5, 6, 7, 8, 9]a[2..-1] # 小技巧,索引使用 -1=> [2, 3, 4, 5, 6, 7, 8, 9]

# 遍歷(1..5).each { |i| puts 2 * i }246810=> 1..5# 說明 -------在值域 (1..5) 上調(diào)用 each 方法,然后又把 { |i| puts 2 * i } 這個塊傳給 each 方法。|i| 兩邊的豎線在 Ruby 中用來定義塊變量。只有方法本身才知道如何處理后面跟著的塊。這里,值域的 each 方法會處理后面的塊,塊中有一個局部變量 i,each 會把值域中的各個值傳進(jìn)塊中,然后執(zhí)行其中的代碼?;ɡㄌ柺潜硎緣K的一種方式,除此之外還有另一種方式:# ------------(1..5).each do |i| puts 2 * iend# 結(jié)果和上面的一樣## 塊中的內(nèi)容可以多于一行,而且經(jīng)常多于一行。## 當(dāng)塊只有 一行簡單的代碼時 使用 花括號 形式;## 當(dāng)塊是一行很長的代碼,或者有多行時使用 do..end 形式:(1..5).each do |number| puts 2 * number puts '-'end# 其他遍歷3.times { puts "Betelgeuse!" } # 3.times 后跟的塊沒有變量"Betelgeuse!""Betelgeuse!""Betelgeuse!"=> 3(1..5).map { |i| i**2 } # ** 表示冪運算=> [1, 4, 9, 16, 25]%w[a b c] # 再說一下,%w 用于創(chuàng)建元素為字符串的數(shù)組=> ["a", "b", "c"]%w[a b c].map { |char| char.upcase }=> ["A", "B", "C"]%w[A B C].map { |char| char.downcase }=> ["a", "b", "c"]# 簡寫%w[A B C].map(&:downcase)=> ["a", "b", "c"]

散列[關(guān)聯(lián)數(shù)組]和符號

user = {} # {} 是一個空散列=> {}user["first_name"] = "Michael" # 鍵為 "first_name",值為 "Michael"=> "Michael"user["last_name"] = "Hartl" # 鍵為 "last_name",值為 "Hartl"=> "Hartl"user["first_name"] # 獲取元素的方式與數(shù)組類似=> "Michael"user # 散列的字面量形式=> {"last_name"=>"Hartl", "first_name"=>"Michael"}# => 創(chuàng)建散列user = { "first_name" => "Michael", "last_name" => "Hartl" }=> {"last_name"=>"Hartl", "first_name"=>"Michael"}# 在 Rails 中用符號(Symbol)做鍵很常見。符號看起來有點兒像字符串,只不過沒有包含在一對引號中,# 而是在前面加一個冒號。例如,:name 就是一個符號。你可以把符號看成沒有約束的字符串# 符號是 Ruby 特有的數(shù)據(jù)類型.user = { :name => "Michael Hartl", :email => "michael@example.com" }=> {:name=>"Michael Hartl", :email=>"michael@example.com"}user[:name] # 獲取 :name 鍵對應(yīng)的值=> "Michael Hartl"user[:passWord] # 獲取未定義的鍵對應(yīng)的值=> nil# 散列的第二種表示方式{ name: "Michael Hartl", email: "michael@example.com" }# 在散列字面量中,:name => 和 name: 作用一樣。# 如果要表示符號,只能使用 :name(冒號在前面)。# 嵌套散列params = {} # 定義一個名為 params(parameters 的簡稱)的散列=> {}params[:user] = { name: "Michael Hartl", email: "mhartl@example.com" }=> {:name=>"Michael Hartl", :email=>"mhartl@example.com"}params=> {:user=>{:name=>"Michael Hartl", :email=>"mhartl@example.com"}}params[:user][:email]=> "mhartl@example.com"# 散列響應(yīng)遍歷Flash = { success: "It worked!", danger: "It failed." }flash.each do |key, value| puts "Key #{key.inspect} has value #{value.inspect}"end

參考: https://railstutorial-china.org/book/chapter4.html https://www.railstutorial.org/book/rails_flavored_ruby


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
亚洲乱码日产精品bd在线观看| 成年人黄色片视频| 日本天堂在线| 少妇高潮一区二区三区99小说| 国产精品每日更新在线播放网址| 国产日韩换脸av一区在线观看| 不卡一区综合视频| 天堂社区在线视频| 大伊香蕉精品视频在线| 国产精品初高中精品久久| 麻豆成人在线播放| 亚洲成av人**亚洲成av**| 免费在线超碰| 国产一级二级毛片| 欧美视频一区在线观看| 99999色| 高清国产一区| 国产绿帽一区二区三区| 国产精品无码av在线播放| 色视频成人在线观看免| 亚洲free性xxxx护士白浆| 国产黄色小视频网站| 国产精品一区二区三区在线观| 欧美a级黄色大片| 最好看的日本字幕mv视频大全| 99热精品国产| 真实乱视频国产免费观看| 国产另类图片| 欧美va天堂va视频va在线| 免费的黄网站在线观看| 成人欧美一区二区三区黑人孕妇| www.成人.com| 国偷自产av一区二区三区小尤奈| 国产一区二区精品久| 国产乱人乱偷精品视频| 99在线热播精品免费| 色网址在线观看| 欧美a级一区二区| 日韩久久午夜影院| www免费在线观看| 国产一区在线精品| 影音先锋日韩av| 一日本道久久久精品国产| 国产精品乱码一区二区三区| 久久国产精品视频在线观看| 精品国产乱码久久久久久久久| 精品无人国产偷自产在线| 欧美综合视频在线观看| 亚洲国产福利在线| 韩国av网站在线| 在线观看欧美一区二区| 成人国产精品免费观看| 久久久久久久黄色| 2024最新电影免费在线观看| 欧美性猛交乱大交| 天堂资源在线亚洲| 欧美成人久久电影香蕉| 成人黄视频免费| 高清视频一区二区三区四区| 最近中文字幕免费mv视频多少集| 亚洲欧美一区二区三区在线播放| 国产影视一区二区| 欧美日本一区二区高清播放视频| 少妇精品无码一区二区三区| 伊人av在线| 91麻豆国产自产在线观看亚洲| 黄免费在线观看| 亚洲自拍偷拍第一页| 国产日韩欧美一区二区三区在线观看| 日韩黄色碟片| 樱桃成人精品视频在线播放| 日本一区二区免费高清视频| 色噜噜狠狠狠综合曰曰曰88av| 亚洲精品短视频| 超碰cao国产精品一区二区| 经典一区二区| 亚洲欧洲美洲在线综合| 日韩av电影网址| 另类激情亚洲| 国产 日韩 欧美一区| 伦理一区二区| 欧美亚洲综合在线| 波多野洁衣一区| h在线观看视频| 国产精品入口夜色视频大尺度| 日韩成人在线电影| 日本黄色片在线播放| 97天天综合网| 亚洲经典一区| 国产精品视频黄色| 久久久久女人精品毛片九一| 韩日精品视频一区| 欧美人牲a欧美精品| 国产精品久久久一本精品| 国产美女情趣调教h一区二区| 手机看片福利盒子久久| 懂色av中文字幕一区二区三区| 中文在线有码| 国产精品久久久久一区二区三区共| 亚洲天堂小视频| 盗摄系列偷拍视频精品tp| 97婷婷大伊香蕉精品视频| 亚洲av无码乱码在线观看性色| 国产一区二区三区美女| 激情成人亚洲| 久久一二三四区| 宅男噜噜99国产精品观看免费| 国产精品二区一区二区aⅴ| 欧美日韩亚洲不卡| 亚洲一级免费在线观看| 国产精品视频网| 婷婷五月精品中文字幕| 91成人网在线观看| 在线观看的日韩av| 午夜精品一区二区三区国产| 亚洲日本va| 美女免费视频一区| 色婷婷激情五月| 99r国产精品视频| 在线免费观看日本一区| 欧美激情一区二区三区免费观看| 国产免费一区视频观看免费| 欧美最近摘花xxxx摘花| 内射中出日韩无国产剧情| 99久久精品一区二区| 欧美日韩在线视频一区二区| 黄色污污网站在线观看| 亚洲ⅴ国产v天堂a无码二区| 欧美一区二区视频在线播放| 中文写幕一区二区三区免费观成熟| 国产66精品| 一区二区三区日韩在线| 午夜免费福利影院| 欧美中文字幕一二三区视频| 国产又大又黑又粗免费视频| 国产精品一区三区| 日韩极品精品视频免费观看| 亚洲伦理在线观看| 亚洲自拍三区| av中文字幕播放| 天天av综合| 亚洲国产综合在线观看| 性欧美videossex精品| 国产一区二区三区影视| 最新欧美精品一区二区三区| 九九九久久国产免费| 亚洲av无码一区二区三区人| 亚洲精品在线一区二区| 日本高清免费观看| 亚洲淫成人影院| 橘梨纱av一区二区三区在线观看| 欧美日韩中文国产一区发布| 亚洲欧美日韩在线播放| 久久久久久91精品色婷婷| 国产精品igao激情视频| 欧美娇小极度另类| 国产成人亚洲精品自产在线| 国产人妖一区二区三区| 久久久久99精品成人片我成大片| 午夜精品久久久久久久久久蜜桃| 中文字幕有码在线播放| 国产成人午夜精品| 欧美变态tickling挠脚心| 日韩欧美国产另类| 午夜精品美女自拍福到在线| 亚洲在线视频一区二区| 乱馆动漫1~6集在线观看| 成人综合婷婷国产精品久久| 欧美性猛交久久久乱大交小说| 日韩精品自拍偷拍| 在线成人h网| 97中文字幕| 精品国产第一区二区三区观看体验| 亚洲一区精品视频| 日韩电影中文字幕| 亚洲美女视频网| 中文资源在线官网| 中文字幕中文字幕在线中心一区| 欧美极品在线视频| 亚洲精品一区二区三区网址| 国产亚洲亚洲国产一二区| 天堂中文资源在线观看| 无码日韩人妻精品久久蜜桃| 91小视频网站| 精品www久久久久奶水| 91精品久久| 搞黄网站免费观看| 中文字幕一精品亚洲无线一区| 日韩欧美你懂的| 亚洲国产综合人成综合网站| 日韩免费三级| 先锋影音国产一区| www.日日操| 欧美1级日本1级| 欧美午夜性生活| 国产 欧美 日本| 国产精品久久久久久福利一牛影视| 成年男人的天堂| 日本在线播放一区| 蜜桃传媒av| 中文字幕第88页| 欧美va天堂| 成人免费淫片免费观看| 99re6这里有精品热视频| 亚洲成av人乱码色午夜| 亚洲第一网站免费视频| 亚洲精品v欧美精品v日韩精品| 99久久久国产精品美女| 色偷偷亚洲第一成人综合网址| 久草在线网址| 伊人精品在线视频| 久久另类ts人妖一区二区| 欧美成人高清电影在线| 久久观看最新视频| 成人手机电影网| 日本一级淫片色费放| 欧美日韩一区二区三区视频播放| 午夜精品蜜臀一区二区三区免费| 国内精品小视频在线观看| 中文字幕欧美日韩一区二区三区| 91精品国产99久久久久久红楼| 国产成人精品视频在线| 国产一区二区小视频| 国产精品欧美一区二区| 欧美日韩午夜视频| 亚洲一区二区在线播放| 国产a久久精品一区二区三区| 欧美大电影免费观看| 亚州精品国产| 理论片在线观看理伦片| 九九久久电影| www.狠狠干| 久久中文字幕电影| 一区二区三区四区在线| 亚洲欧洲中文字幕| 久久久国产高清| 欧美xxx黑人xxx水蜜桃| 91中文字幕在线| 99久久综合国产精品| 国产精品理论片| 日韩精品一区在线| 成人免费无码av| 91免费版视频| 日韩精品在线观看一区| 最近中文字幕无免费| 国产5g成人5g天天爽| 日本dhxxxxxdh14日本| 欧美黑人又粗大| 久久久久久九九九| 香蕉久久夜色精品国产| 精品一区在线视频| missav|免费高清av在线看| 国产精品精品国产| 无码av天堂一区二区三区| 川上优av一区二区线观看| 日韩高清在线观看| 国模套图日韩精品一区二区| 国产成人a亚洲精品| 日韩av手机在线观看| 久久久福利影院| 美女翘臀白浆直流视频| 99精品黄色片免费大全| 四虎影院观看视频在线观看| 色婷婷久久99综合精品jk白丝| 久久久亚洲天堂| 最近中文字幕mv2018在线高清| 国产成人天天5g影院| 欧美一区二区三区性视频| 国产精品扒开腿做爽爽爽男男| 久久久久一区二区三区| 19禁羞羞电影院在线观看| yy4480电影网| 免费看的黄色欧美网站| 国产乱码一区二区三区四区| 一女三黑人理论片在线| 免费中文字幕日韩| 日本综合久久| 久久亚洲精品小早川怜子66| 日本国产精品| www.777色| 精品免费国产二区三区| 亚洲精品成人三区| 黄色污污视频在线观看| 成人深夜视频在线观看| 人人精品视频| 中文字幕日韩欧美| 欧美高清xxxx性| 国产精品va在线播放我和闺蜜| 欧美午夜黄色| 能在线观看av网站| 杨幂毛片午夜性生毛片| 国产午夜无码视频在线观看| 国产伦精品一区二区三区四区| y111111国产精品久久婷婷| 欧美精品一区二区三区免费| av中文字幕在线观看第一页| 亚洲精品www久久久久久广东| 污视频在线免费观看一区二区三区| 中文字幕日日夜夜| 蓝色福利精品导航| 青青青视频在线播放| 日韩精品在线影院| 亚洲av永久无码国产精品久久| 欧美激情一级二级三级在线视频| 欧美 日韩 国产一区| 蜜臀91精品国产高清在线观看| 影音先锋中文字幕在线播放| 国产激情视频在线看| 538prom精品视频线放| 国产精品久久久久久久久久妞妞| 波多野结衣人妻| 精品少妇av| julia一区二区三区中文字幕| 99在线欧洲视频| 国产精品探花在线| 日本少妇一区| 亚洲网在线观看| 国产成人超碰人人澡人人澡| 人人妻人人藻人人爽欧美一区| 好男人www社区在线视频夜恋| 亚洲精品国产一区二区| 97精品欧美一区二区三区| 波霸ol色综合网| 麻豆精品一区二区三区| 成人激情电影一区二区| 日本理论片2828理论片| a篇片在线观看网站| 苍井空浴缸大战猛男120分钟|