當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Proc.eql?用法及代碼示例

本文簡要介紹ruby語言中 Proc.eql? 的用法。

用法

eql?(other) → true or false
別名:==

當且僅當它們是從相同的代碼塊創建時,兩個 proc 是相同的。

def return_block(&block)
  block
end

def pass_block_twice(&block)
  [return_block(&block), return_block(&block)]
end

block1, block2 = pass_block_twice { puts 'test' }
# Blocks might be instantiated into Proc's lazily, so they may, or may not,
# be the same object.
# But they are produced from the same code block, so they are equal
block1 == block2
#=> true

# Another Proc will never be equal, even if the code is the "same"
block1 == proc { puts 'test' }
#=> false

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Proc.eql?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。