github.com/leonelquinteros/anko/builtins/io/ioutil

Scriptable interpreter written in golang


Install
go get github.com/leonelquinteros/anko/builtins/io/ioutil

Documentation

anko

Build Status GoDoc

Anko is a scriptable interpreter written in Go.

(Picture licensed under CC BY-SA 3.0 by wikipedia)

Installation

Requires Go.

$ go get -u github.com/mattn/anko

Examples

# declare function
func plus(n){
  return n + 1
}

# declare variables
x = 1
y = x + 1

# print values 
println(x * (y + 2 * x + plus(x) / 2))

# if/else condition
if plus(y) > 1 {
  println("こんにちわ世界")
} else {
  println("Hello, World")
}

# array type
a = [1,2,3]
println(a[2])
println(len(a))

# map type
m = {"foo": "bar", "far": "boo"}
m.foo = "baz"
for k in keys(m) {
  println(m[k])
}

See _examples/scripts for more examples.

Usage

Embedding the interpreter into your own program:

var env = vm.NewEnv()

env.Define("foo", 1)
env.Define("bar", func() int {
    return 2
})

val, err := env.Execute(`foo + bar()`)
if err != nil {
    panic(err)
}

fmt.Println(val) 
// output:
// 3

Running scripts using anko command-line tool:

$ anko script.ank

License

MIT

Author

Yasuhiro Matsumoto (a.k.a mattn)