Talk:Walnut/Ordinary Programming
From Erights
Revision as of 02:00, 5 December 2010 by 99.224.96.106 (Talk)
Parameters implicitly defined by "var", not "def"
Where the article says:
Rather, they are true variables (implicitly declared with "def" )
Aren't they declared by "var"? You can modify them in the object's scope:
def makeCar(var name) { var x := 0 var y := 0 def car { to moveTo(newX,newY) { name := "new name" x := newX y := newY } to getName() {return name} } return car }
? def car := makeCar("a car") # value: <car> ? car.getName() # value: "a car" ? car.moveTo(1,2) ? car.getName() # value: "new name"