strutils.go 518 B

123456789101112131415161718192021222324252627282930
  1. package glisp
  2. import (
  3. "errors"
  4. )
  5. func ConcatStr(str SexpStr, expr Sexp) (SexpStr, error) {
  6. var str2 SexpStr
  7. switch t := expr.(type) {
  8. case SexpStr:
  9. str2 = t
  10. default:
  11. return SexpStr(""), errors.New("second argument is not a string")
  12. }
  13. return str + str2, nil
  14. }
  15. func AppendStr(str SexpStr, expr Sexp) (SexpStr, error) {
  16. var chr SexpChar
  17. switch t := expr.(type) {
  18. case SexpChar:
  19. chr = t
  20. default:
  21. return SexpStr(""), errors.New("second argument is not a char")
  22. }
  23. return str + SexpStr(chr), nil
  24. }