Assignment Operators
Kurtis Rainbolt-Greene <[email protected]> Wed, 16 May 2012 01:21:47 -0500
| Newsgroups | gmane.comp.lang.io |
|---|---|
| Message-ID | <CAMhJPGj7ri07DXXeuKiQk571vRmx+mfznyjto=LSF0U2HneRdA@mail.gmail.com> |
So I've been using Io for a bit now, writing a package manager,
writing a few packages. I even wrote a syntax definition file for
Sublime Text 2.
One thing I've noticed since writing that defintion file is that it
doesn't seem like Io needs the "=" character in the assignment
operators.
Consider the following:
``` io
Version := Object clone do(
major ::= 0
minor ::= 0
patch ::= 0
asString := method( "#{major}.#{minor}.#{patch}" )
)
```
Pretty simple object, right? Now imagine if you didn't need the `=` characters.
``` io
Version: Object clone do(
major:: 0
minor:: 0
patch:: 0
asString: method( "#{major}.#{minor}.#{patch}" )
)
```
Smaller, slightly easier to read, and no confusion with the `==`,
`!=`, `+=`, `-=`, `>=`, `<=`, `~=`, `&=`, or `||=` operators that
usually crop up in programming languages.