On Thu, 23 Sep 2010, Bernardo Barros wrote:
if (0.5.coin) {"Hey".postln} {"Ho!"};
OR
if (0.5.coin, {"Hey".postln}, {"Ho!"});
But since SC is object-oriented and "if" is a method of "boolean",
this also works and would be considered more consistent with the
language design:
(0.5.coin).if({"Hey".postln}, {"Ho!"})
To complete what we were saying, even though there's a lot in common
between SC and Ruby, conditionals are completely different over there, and
there are nine syntaxes for conditionals, NOT including a method of
boolean (because Ruby doesn't have this feature).
I forgot to say last time (and that's probably what IOhannes was referring
to) that in Perl and Ruby, the operators && || "and" "or" have been
recycled into conditionals in Perl and Ruby. Then there are also the
reverse conditionals "if" and "unless". those statements are all
equivalent in Ruby :
if debug then post("problem") end
unless not debug then post("problem") end
post("problem") if debug
post("problem") unless not debug
debug and post("problem")
debug && post("problem")
not debug or post("problem")
!debug || post("problem")
debug ? post("problem") : nil
which is almost the same deal as in Perl except Ruby's regular "if"
statement is actually an expression.
"and"/"or" and "&&"/"||" aren't just aliases, because they also have
different priorities.
_______________________________________________________________________
| Mathieu Bouchard ------------------------------ Villeray, Montréal, QC
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list