簡體   English   中英

論證處理是“僵化的”是什么意思?

[英]What does it mean for argument handling to be “rigid”?

摘自Proc#lambda?文檔 Proc#lambda?

對於參數處理嚴格的Proc對象,返回true。 這種觸發通常由lambda生成。

什么是“嚴格的論證”處理?

如果傳遞錯誤數量的參數,Lambdas將引發ArgumentError,Proc.new不會。

例:

lam = ->(x){ "OK" }
lam.lambda? # => true
lam.call # => ArgumentError
lam.call(1) # => OK

proc = Proc.new { |x| "OK" }
proc.lambda? # => false
proc.call # => OK
proc.call(1) # => OK
proc.call(1,2,3,4,5,6,7,8,9) # => OK

暫無
暫無

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

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