예제 #1
0
파일: regexp.go 프로젝트: catb0t/gelo
func ReOrElse(vm *gelo.VM, w gelo.Word) *Regexp {
	r, ok := w.(*Regexp)
	if !ok {
		gelo.TypeMismatch(vm, "regexp", w.Type())
	}
	return r
}
예제 #2
0
파일: stdio.go 프로젝트: catb0t/gelo
func (s *_stdio) Send(w gelo.Word) {
	var out []byte
	if l, ok := w.(*gelo.List); ok {
		var buf bytes.Buffer
		for ; l.Next != nil; l = l.Next {
			buf.Write(l.Value.Ser().Bytes())
			buf.WriteString(" ")
		}
		buf.Write(l.Value.Ser().Bytes())
		out = buf.Bytes()
	} else {
		out = w.Ser().Bytes()
	}
	os.Stdout.Write(out)
	os.Stdout.WriteString("\n")
}
예제 #3
0
파일: log.go 프로젝트: catb0t/gelo
func (g *lr) Send(w gelo.Word) {
	g.Println(w.Ser().String())
}
예제 #4
0
파일: stdio.go 프로젝트: catb0t/gelo
func (s *_stderr) Send(w gelo.Word) {
	os.Stderr.Write(w.Ser().Bytes())
	os.Stderr.WriteString("\n")
}