Kotlin的With,用于红宝石

时间:2019-08-05 20:47:38

标签: ruby kotlin

有没有功能或方法可以在红宝石中模拟此with

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

with(callDao) {
            whenever(deleteAll()).thenComplete()
            whenever(insertAll(any())).thenComplete()
}

vs

            whenever(callDao.deleteAll()).thenComplete()
            whenever(callDao.insertAll(any())).thenComplete()

1 个答案:

答案 0 :(得分:9)

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

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

with(" banana ") {
  puts strip
  puts reverse
}

输出:

banana
 ananab