共计 46 篇文章

从表达式到变量:一行scheme代码之所见

下面这行代码在scheme中是可以执行的,其结果值为12: ((if #f + *) 3 4) 在scheme中,一对括号表明过程调用。括号中的第一个参数是过程名,其余的则是过程参数。 那么,我们先看内层括号中的代码: (if #f + *) if是一个过程名,而不是语句。该过程相当于JavaScript或C中的三元表达式,或者其它语言中的一个if语句(的效果)。试以javascript来描述它的效果(以下语句中的字符串定义,只是语义上的含义,并不表明它是字符串): var q = '# ...