我经常遇到这样一种情况,即我正在测试嵌套映射或数组中是否存在值。为了防止冗长的条件,我想简化代码以不在节点的每个级别测试是否存在,而是在我想要的之后立即执行。
例如:
local(mymap = map('a' = (:1,2,3), 'b' = (:4,5,6)))
if (#mymap->find('c')->contains(9) ) => {}
如果 #mymap 中不存在键“c”,则 contains() 方法会引发错误。
我在 Lasso Startup 中定义它会很愚蠢吗?
define void->contains(...) => false
这将允许上述条件工作,而不必添加复合表达式来首先测试“c”是否存在。我错过了一些意想不到的后果吗?我是否忽略了一种更有效的方法来做到这一点?