问题出在代码的评论中:
define f(x) {
print x^2
}
define g(x) {
print x+2
}
if(f(2)>g(1)) {
print "it works"
}
43 # Why 43 instead of the text "it works"?
a=f(2)
b=g(1)
if(a>b) {
print "it works"
}
# Why nothing?
答案 0 :(得分:2)
您的功能仅打印他们计算的内容。他们不会返回结果。
因此,当您调用f(2)时,f将打印4,当您调用g(1)时,g将打印3。
以这种方式尝试:
define f(x) {
return x^2
}
define g(x) {
return x+2
}
if(f(2)>g(1)) {
print "it works"
}
a=f(2)
b=g(1)
if(a>b) {
print "it works"
}