Scheme/Procedures

From Noisebridge
< Scheme(Difference between revisions)
Jump to: navigation, search
Line 12: Line 12:
 
=== fluid-let ===
 
=== fluid-let ===
 
Modifies ''existing global variables'' instead of introducing new lexical ones. Values are reset at the end of the expression.
 
Modifies ''existing global variables'' instead of introducing new lexical ones. Values are reset at the end of the expression.
 +
<br />
 +
== Iteration  ==
 +
=== do ===
 +
<pre>
 +
(do
 +
  ((<var> <init> <step>) ... )
 +
  (<test> <expression>)
 +
  (<command> ... ))
 +
</pre>

Revision as of 23:12, 2 April 2011

Contents

Lambdas

  • Can also be viewed as anonymous procedures.
  • Has the following syntax:
(lambda <args> <expressions>)

where <expressions> is one or more, well, expressions. Only the last expression's value is returned.
<args> is your variable definitions, which can take the following forms:

  • var - all arguments are put into this single variable.
  • (var[1] var[2] ... ) - specifies a fixed number of arguments.
  • (var[1] var[2] ... . var[n]) - a space-delimited period before the final argument specifies the remaining args (if any) to be put into a list under that variable.


Lexical Scoping

fluid-let

Modifies existing global variables instead of introducing new lexical ones. Values are reset at the end of the expression.

Iteration

do

(do
  ((<var> <init> <step>) ... )
   (<test> <expression>)
   (<command> ... ))
Personal tools