| 1234567891011121314151617181920212223242526272829 |
- package main
- import (
- "bufio"
- "fmt"
- "strings"
- )
- func opRun(val1 value) value {
- if !isList(val1.val) {
- panic(fmt.Errorf("run: %s (%s)", errListExpected, val1.val))
- }
- return interpret(bufio.NewScanner(strings.NewReader(val1.val[1 : len(val1.val)-1])))
- }
- func opIf(val1, val2, val3 value) value {
- b1 := toBool(val1.val)
- if b1 {
- return opRun(val2)
- }
- return opRun(val3)
- }
- func opReturn(val1 value) value {
- if isList(val1.val) && val1.body == "" {
- return parseFunc(val1.val)
- }
- return val1
- }
|