Kotlin的With,用于红宝石

Dan*_*ico 3 ruby kotlin

是否有任何函数或方法来模拟这一在红宝石?

它可以帮助您组织作用于同一对象的代码,例如:

with(callDao) {
            whenever(deleteAll()).thenComplete()
            whenever(insertAll(any())).thenComplete()
}
Run Code Online (Sandbox Code Playgroud)

            whenever(callDao.deleteAll()).thenComplete()
            whenever(callDao.insertAll(any())).thenComplete()
Run Code Online (Sandbox Code Playgroud)

Jar*_*eck 9

是的,您可以with使用构建自己的instance_eval

def with(obj, &block)
  obj.instance_eval(&block)
end

with(" banana ") {
  puts strip
  puts reverse
}
Run Code Online (Sandbox Code Playgroud)

输出:

banana
 ananab 
Run Code Online (Sandbox Code Playgroud)