今天我介入了这段代码:
classdef (Enumeration,Sealed) ClassBlabla < int8
enumeration
ALPHA(0)
BETA(1)
GAMMA(2)
end
methods (static)
function ret = doSomething()
ret = containers.Map(.......)
for i = int32(ClassBlabla.ALPHA):int32(ClassBlabla.GAMMA)
ret(i) = somethingelse(blablabla(i))
end
end
end
end
for ??中的int32(...)是什么?演员?为什么我要转换为int32?是不是ALPHA已经为0而GAMMA已经是2 ??
答案 0 :(得分:2)
将int8
的ALPHA和GAMMA值扩展为int32
。最有可能的原因是,blablabla()
函数需要int32
输入,或者ret
值需要int32
个键。 ALPHA和GAMMA已经是0和2,但它们是int8
而不是int32
,而blablabla()
或doSomething()
的客户可能无法与int8
值一起使用。 (由于顶部有int8
,您可以告诉ALPHA和GAMMA ClasBlabla < int8
。)