The Io Tutorial


Introduction

Begin at the beginning and go on till you come to the end: then stop.
- the King, Alice in Wonderland
This is a quick overview of Io intended for folks that already know how to program.

After compiling Io, run the io executable in the binaries folder. You should get a prompt like this:

IoVM version 20031123
Io>
The following is an annotated transcript of a CLI session that will walk through some examples:

Basic Math

Io> 1+1
==> 2

Io> 2 sin
==> 0.909297

Io> 2 sqrt
==> 1.414214

Variables

Io> a := 1
==> 1

Io> a
==> 1

Io> b := 2 * 3
==> 6

Io> a + b
==> 7

Conditions

Io> a := 2

Io> if(a == 1) then(writeln("a is one")) else(writeln("a is not one"))
a is not one

Io> if(a == 1, writeln("a is one"), writeln("a is not one"))
a is not one

Lists

Io> d := List clone append(30, 10, 5, 20)    
==> list(30, 10, 5, 20)   

Io> d size
==> 4

Io> d print
==> list(30, 10, 5, 20)

Io> d := d sort
==> list(5, 10, 20, 30)

Io> d first
==> 5

Io> d last
==> 30

Io> d at(2)
==> 20

Io> d remove(30)
==> list(5, 10, 20)

Io> d atPut(1, 123)
==> list(5, 123, 20)

Loops

Io> for(i, 1, 10, write(i, " "))
1 2 3 4 5 6 7 8 9 10 

Io> d foreach(i, v, writeln(i, ": ", v))
0: 5
1: 123
3: 20

Strings

Io> a := "foo"
==> "foo"

Io> b := "bar"
==> "bar"

Io> c := a .. b
==> "foobar"

Io> c at(0)
==> 102

Io> c at(0) asCharacter
==> "f"

Io> s := "this is a test"
==> "this is a test"

Io> words := s split(" ", "\t") print
"this", "is", "a", "test"

Io> s findSeq("is")
==> 2

Io> s findSeq("test")
==> 10

Io> s slice(10)
==> "test"

Io> s slice(2, 10)
==> "is is a "

Also see: Quag's Getting Started Tutorial.