[分享] Ruby 的 Closure (block, Proc, lambda)

看板Ruby作者 (Neisseria)時間5年前 (2018/09/07 16:27), 5年前編輯推噓3(300)
留言3則, 3人參與, 5年前最新討論串1/1
任意門 (英文) http://bit.ly/2MSPqfr (AppSignal 文章) 加碼某板友的文章 (中文) https://tonytonyjan.net/2011/08/12/ruby-block-proc-lambda/ block, Proc, lambda 三者都是用來寫函數式程式的 這三者的異同應該算是 Ruby 重要的月經題 先來個懶人包: 1. block 本質上是 Proc,但不能存在變數中 2. Proc 和 lambda 皆可存在變數中,故可重覆使用 3. lambda 會檢查變數數量 (arity),但 Proc 不會 4. 在方法中呼叫 lambda,若 lambda 有 return,控制權回原方法 在方法中呼叫 Proc,若 Proc 有 return,會跳出該方法 還是建議點進去看過一遍原文章,不要死記懶人包的結論 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.84.57 ※ 文章網址: https://www.ptt.cc/bbs/Ruby/M.1536308871.A.5BE.html ※ 編輯: Neisseria (59.115.84.57), 09/07/2018 16:30:48

09/07 16:54, 5年前 , 1F
感謝分享
09/07 16:54, 1F

09/07 23:42, 5年前 , 2F
09/07 23:42, 2F

09/11 22:13, 5年前 , 3F
09/11 22:13, 3F
文章代碼(AID): #1RaZQ7M- (Ruby)
文章代碼(AID): #1RaZQ7M- (Ruby)