有没有功能或方法可以在红宝石中模拟此with?
它可以帮助您组织作用于同一对象的代码,例如:
with(callDao) {
whenever(deleteAll()).thenComplete()
whenever(insertAll(any())).thenComplete()
}
vs
whenever(callDao.deleteAll()).thenComplete()
whenever(callDao.insertAll(any())).thenComplete()
答案 0 :(得分:9)
是的,您可以使用with
构建自己的instance_eval
。
def with(obj, &block)
obj.instance_eval(&block)
end
with(" banana ") {
puts strip
puts reverse
}
输出:
banana
ananab