举个例子,假设我有一个如下形状的类型 foo
,
type foo = shape(
?'bar' => float,
...
);
现在,如果我尝试通过以下方式访问字段 bar
的值,
do_something_with($rcvd['bar']);
其中 $rcvd
是 foo
类型,它不起作用,因为 bar
是可选成员并且可能不存在于实例中$rcvd
。
所以对于这个给定的例子,问题是 - 如何访问 $rcvd
的成员 bar
?
最佳答案
好的,找到了:https://docs.hhvm.com/hack/reference/class/HH.Shapes/idx/
所以正确的做法是,
Shapes::idx($rcvd, 'bar');
关于hacklang - 如何访问 hack 中的可选形状字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49304646/