rationalized context convertion to dict and string types

This commit is contained in:
2026-05-21 03:52:48 +02:00
parent a62f27b104
commit e1c24daac4
5 changed files with 92 additions and 72 deletions
+10 -6
View File
@@ -76,9 +76,11 @@ func (dict *DictType) toMultiLine(sb *strings.Builder, opt FmtOpt) {
sb.WriteString(nest)
if key, ok := name.(string); ok {
sb.WriteString(string('"') + key + string('"'))
sb.WriteByte('"')
sb.WriteString(key)
sb.WriteByte('"')
} else {
sb.WriteString(fmt.Sprintf("%v", name))
fmt.Fprintf(sb, "%v", name)
}
sb.WriteString(": ")
if f, ok := value.(Formatter); ok {
@@ -86,7 +88,7 @@ func (dict *DictType) toMultiLine(sb *strings.Builder, opt FmtOpt) {
} else if _, ok = value.(Functor); ok {
sb.WriteString("func(){}")
} else {
sb.WriteString(fmt.Sprintf("%v", value))
fmt.Fprintf(sb, "%v", value)
}
}
sb.WriteByte('\n')
@@ -110,9 +112,11 @@ func (dict *DictType) ToString(opt FmtOpt) string {
sb.WriteString(", ")
}
if s, ok := key.(string); ok {
sb.WriteString(string('"') + s + string('"'))
sb.WriteByte('"')
sb.WriteString(s)
sb.WriteByte('"')
} else {
sb.WriteString(fmt.Sprintf("%v", key))
fmt.Fprintf(&sb, "%v", key)
}
sb.WriteString(": ")
if formatter, ok := value.(Formatter); ok {
@@ -120,7 +124,7 @@ func (dict *DictType) ToString(opt FmtOpt) string {
} else if t, ok := value.(Term); ok {
sb.WriteString(t.String())
} else {
sb.WriteString(fmt.Sprintf("%#v", value))
fmt.Fprintf(&sb, "%#v", value)
}
}
sb.WriteByte('}')