我想知道那时是否有更清晰的陈述
if not attached foo then
create foo
end
if attached foo as l_foo then
l_foo.bark
end
为
if not attached foo then
create foo
foo.bark
else
foo.bark
end
将重复foo.bark
,显然我想避免它……甚至最后一条语句也不会使用void-safety进行编译,因为其他的foo可能是无效的……
答案 0 :(得分:2)
为避免代码重复和多次测试,可以使用以下代码:
l_foo := foo
if not attached l_foo then
create l_foo
foo := l_foo
end
l_foo.bark