Stair-climbing puzzle: Difference between revisions

Content added Content deleted
(→‎{{header|R}}: Added REBOL example.)
(Added Scala)
Line 545: Line 545:
"rise (0)"
"rise (0)"
"rise (1)"</pre>
"rise (1)"</pre>

=={{header|Scala}}==
Simple recursive solution:

<lang scala>def stepUp { while (! step) stepUp }</lang>

Non-recursive solution which almost gets away with not having named variables:

<lang scala>def stepUp {
def rec: List[Boolean] => Boolean = step :: (_: List[Boolean]) match {
case true :: Nil => true
case true :: false :: rest => rec(rest)
case other => rec(other)
}
rec(Nil)
}</lang>


=={{header|Smalltalk}}==
=={{header|Smalltalk}}==