麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

Ruby中proc和lambda的兩個區(qū)別

2020-10-29 19:39:00
字體:
供稿:網(wǎng)友

1、在proc和lambda中,return關(guān)鍵字有不同含義:
在proc中,return僅僅表示從這個lambda中返回.
在lambda中,return不是從proc中返回,而是從定義proc的作用域中返回.

復(fù)制代碼 代碼如下:

def one_method
    p = Proc.new{return 10}  #調(diào)用這個塊的時候,從p的作用域直接返回10,因此下面的return將不會執(zhí)行
    result = p.call
    return result * 2
end
 
def two_method
    p = lambda{return 10}   #調(diào)用這個塊的時候,從lambda中返回10
    result = p.call
    return result * 2       #繼續(xù)執(zhí)行
end
 
puts one_method   # 10
puts two_method   #  20

2、在proc和lambda中,檢查參數(shù)的方式不同:

在proc中,如果參數(shù)比定義的多,會忽略多余參數(shù),如果參數(shù)比定義的少,則自動把未傳過來的參數(shù)指定為nil.
在lambda中,不管實(shí)際的參數(shù)比定義時的參數(shù)多還是少,都會拋出ArgumentError錯誤.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日韩视频不卡 | 欧美亚洲国产一区二区三区 | 日韩视频在线观看免费 | 精品国产成人 | 在线成人www免费观看视频 | 亚洲码无人客一区二区三区 | 在线91视频 | 最新se94se在线欧美 | 精品av在线播放 | 免费国产在线视频 | 国产一区二区三区高清 | 娇妻被各种姿势c到高潮小说 | 国产91一区 | 麻豆porn | 国产妇女乱码一区二区三区 | 99精品视频免费 | 精品一区二区久久久久久按摩 | 欧美成年人视频 | 亚洲欧美天堂 | 92精品国产自产在线 | 精品一区二区三区免费看 | 亚洲第五色综合网 | 亚洲最新黄色网址 | 国产一区二区三区手机在线 | 一区二区三区日本在线观看 | 色播视频在线播放 | 亚洲国产资源 | 主播粉嫩国产在线精品 | 久久久久久久久久网 | 西川av在线一区二区三区 | 成人午夜看片 | 久久新网址 | 免费观看三级毛片 | 久草在线视频免费播放 | 成年免费大片黄在线观看岛国 | 免费中文视频 | 久久久久久久一区二区三区 | 久久影院一区二区三区 | 色天天综合网 | 欧美一级棒 | 中文字幕11|