优化代码时出错

对如下代码,运行时会报错,应该怎么解决?
去掉global也不行
将t单独提出来是为了优化速度,否则每次运行for都要算一遍t
a=zeros(3,3)
b=ones(3,3)
function f(k)
t=3k
for x in (:a,:b)
global t
@eval $x*=t
end
end
f(1)
print(“a=”,a)
print(“b=”,b)

…试出来了,不能使用@eval