簡體   English   中英

Lambda 和 proc 生成

[英]Lambda and proc generated

我在https://ruby-doc.org/core-2.3.1/Proc.html 上閱讀了關於 ruby​​ 中的 Proc

lambda(&lambda {}).lambda?   #=> true
proc(&lambda {}).lambda?     #=> true
Proc.new(&lambda {}).lambda? #=> true

lambda(&proc {}).lambda?     #=> false
proc(&proc {}).lambda?       #=> false
Proc.new(&proc {}).lambda?   #=> false

我幾乎不明白為什么所有的結果都是他們。 如果你有任何想法。 請幫我!

它在您引用的代碼上方這么說:

lambdaproc::new保留了&參數給出的Proc對象的技巧。

在前三個示例中,您使用lambda {}創建了一個Proc 因此它是一個 lambda。 包裝它不會改變它; .lambda? true

在后三個示例中,您使用proc {}創建一個Proc 因此它不是 lambda。 包裝它不會改變它; .lambda? false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM