ctrl.go 396 B

12345678910111213141516171819
  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func opRun(val1 value, envs []environ) (value, bool) {
  6. if !isList(val1) {
  7. panic(fmt.Errorf("run: %s (%s)", errListExpected, toString(val1)))
  8. }
  9. return interpret(&scanProvider{isList: true, list: val1.list}, envs)
  10. }
  11. func opIf(val1, val2, val3 value, envs []environ) (value, bool) {
  12. if toBool(val1) {
  13. return opRun(val2, envs)
  14. }
  15. return opRun(val3, envs)
  16. }