第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用do block vs braces {}

使用do block vs braces {}

拉風的咖菲貓 2019-08-06 17:03:34
使用do block vs braces {}新的紅寶石,穿上你的新手套。以下兩個片段之間是否有任何區(qū)別(模糊或?qū)嵱茫??my_array = [:uno, :dos, :tres]my_array.each { |item|      puts item}my_array = [:uno, :dos, :tres]my_array.each do |item|      puts itemend我意識到括號語法允許你將塊放在一行上my_array.each { |item| puts item }但除此之外是否有任何令人信服的理由使用一種語法而不是另一種語法?
查看完整描述

3 回答

?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊

Ruby cookbook說括號語法的優(yōu)先順序高于do..end

請記住,括號語法的優(yōu)先級高于do..end語法??紤]以下兩段代碼:

1.upto 3 do |x|
  puts xend1.upto 3 { |x| puts x }# SyntaxError: compile error

第二個例子僅在使用括號時有效, 1.upto(3) { |x| puts x }


查看完整回答
反對 回復 2019-08-06
?
Qyouu

TA貢獻1786條經(jīng)驗 獲得超11個贊

通常,慣例是{}在進行小操作時使用,例如,方法調(diào)用或比較等,所以這很有意義:

some_collection.each { |element| puts element }

但是,如果你有一些稍微復雜的邏輯,那就是多行,那do .. end就像使用:

1.upto(10) do |x|
  add_some_num = x + rand(10)
  puts '*' * add_some_numend

基本上,它歸結(jié)為,如果您的塊邏輯轉(zhuǎn)到多行并且無法安裝在同一行上,那么使用do .. end并且如果您的塊邏輯很簡單,那么只需使用簡單/單行代碼{}。


查看完整回答
反對 回復 2019-08-06
  • 3 回答
  • 0 關(guān)注
  • 670 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號