Re: [無用] .call()可省略call
1. 這是 1.9 之後加上的語法糖衣,為了隱藏 call 方法,文件上有寫
ref: http://www.ruby-doc.org/core-2.1.2/Proc.html#method-i-5B-5D
2. Ruby 無法定義 :() 方法
我認為理由是 Ruby 呼叫方法時括號是可以省略的,牽扯到核心設計
※ 引述《AIGecko (壁虎貓耳控)》之銘言:
: 偶然忘了打函式只打了小括號
: 發現.()等同.call()
: ->(){print "hello, world"}.() #=>hello, world
: ->(){print "hello, world"}.call() #=>hello, world
: 不只是Proc
: 其他物件只要有call這個方法都可以這樣用
: class C
: def call
: print "hello, world"
: end
: end
: C.new.() #=>hello, world
: 這誰會發現啊...
: 而且可讀性也不好...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.118.91
※ 文章網址: http://www.ptt.cc/bbs/Ruby/M.1409288901.A.7B2.html
※ 編輯: tonytonyjan (61.219.118.91), 08/29/2014 13:12:31
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章