mathematica 里面的 =立即赋值 和 :=延迟赋值 有啥不一样?

2024-12-31 17:10:17
推荐回答(1个)
回答1:

立即赋值是将等号右边的表达式计算过后再赋给式子的左边,延迟则是不计算右边的式子,在后续代码中要调用左侧的变量时才计算。这样子说可能还是抽象了点,你运行下下面的代码应该就能明白了:
(*先来看看立即赋值*)
a = 1; b = 2;
c = a + b;
c
a = 2; b = 3;
c
(*来来看看延迟赋值*)
a = 1; b = 2;
c := a + b;
c
a = 2; b = 3;
c

利用这种差别,是可以构造很精妙的算法的。