if(f(a,b) > 0) # 1
if(f(a, b>0)) # 2
上面在调用f
的时候,1使用括号表明了参数的优先级,不然会出现2这样的情况。
而使用lisp式的前缀表达式则不会有不明确的情况,因为优先级已经暗含在里面了。
(if (> (f a b) 0)
;; then-body
;; else-body)
if(f(a,b) > 0) # 1
if(f(a, b>0)) # 2
上面在调用f
的时候,1使用括号表明了参数的优先级,不然会出现2这样的情况。
而使用lisp式的前缀表达式则不会有不明确的情况,因为优先级已经暗含在里面了。
(if (> (f a b) 0)
;; then-body
;; else-body)
转载于:https://www.cnblogs.com/hard-work/p/4518280.html