level 3
比如我想定义
y[x_] := c^2 + x
其中c是关于x的一个表达式,c=x^2
实际上最后的表达式是y=x^4+x,只是通过两段表达出来,但是直接输入c=x^2或者定义c[x_]:=x^2并不能让程序将c^2 + x当作x^4+x处理,请问要如何才能办到?
PS:其实我要做的问题可能需要嵌套将近10层,这里只是为了简便举的这个简单的例子来问问题
2017年07月03日 13点07分
1
吧务
level 15
最简单的方法就是不要滥用延迟赋值。对于这种代数表达式的反复嵌套,使用延迟赋值通常只会把代码变得不必要地啰嗦。不要因为立即赋值在某些情况下似乎会“出问题”就一味倒向延迟赋值,更不要因为立即赋值没有把变量染绿、显得不够高大上之类的理由就不用立即赋值!
c=x^2;
y[x_] = c^2 + x
2017年08月04日 18点08分
4
学到了,谢谢大佬
2024年02月13日 05点02分