有没有更优雅的写作方式?
@on_connection_callback.call() if @on_connection_callback
必须两次引用@on_connection_callback,这让我感到厌烦。
答案 0 :(得分:2)
您可以将其写为
@on_connection_callback.call() rescue nil
答案 1 :(得分:2)
答案 2 :(得分:1)
@on_connection_callback.instance_eval{call if self}
或者
->p{p.call if p}.call(@on_connection_callback)
答案 3 :(得分:1)
@on_connection_callback.call() if @on_connection_callback
很好,实际上是最快的测试方式。我最近在这里做了一个benchmark test,证明上面的内容略快于:
@on_connection_callback && @on_connection_callback.call()
答案 4 :(得分:1)
使用这个小gem:
tryit { @on_connection_callback.call() }