|
@@ -3,6 +3,7 @@ package def_txt
|
|
|
import (
|
|
import (
|
|
|
"fmt"
|
|
"fmt"
|
|
|
"strconv"
|
|
"strconv"
|
|
|
|
|
+ "strings"
|
|
|
|
|
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/def_spec_base"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/def_spec_base"
|
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/def_spec_fn"
|
|
"gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/def_spec_fn"
|
|
@@ -24,18 +25,18 @@ func MutTxt[T def_spec_fn.TxtConstraint](msg T, arg ...any) *MTxt {
|
|
|
|
|
|
|
|
// Concat -- создать новый изменяемый текст.
|
|
// Concat -- создать новый изменяемый текст.
|
|
|
func (sf *MTxt) Concat(msg any, arg ...any) def_spec_base.Txt {
|
|
func (sf *MTxt) Concat(msg any, arg ...any) def_spec_base.Txt {
|
|
|
- val := def_spec_fn.Sprintf("%v", msg)
|
|
|
|
|
- val = def_spec_fn.Sprintf(val, arg...)
|
|
|
|
|
- sf.val += val
|
|
|
|
|
- return sf.val
|
|
|
|
|
|
|
+ val := fmt.Sprintf("%v", msg)
|
|
|
|
|
+ val = fmt.Sprintf(val, arg...)
|
|
|
|
|
+ sf.val.WriteString(val)
|
|
|
|
|
+ return def_spec_base.Txt(sf.val.String())
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// TrimSuffix -- обрезает суффикс неизменяемого текста.
|
|
// TrimSuffix -- обрезает суффикс неизменяемого текста.
|
|
|
func (sf *MTxt) TrimSuffix[T def_spec_fn.TxtConstraint](suffix T) def_spec_base.Txt {
|
|
func (sf *MTxt) TrimSuffix[T def_spec_fn.TxtConstraint](suffix T) def_spec_base.Txt {
|
|
|
suf := fmt.Sprintf("%v", suffix)
|
|
suf := fmt.Sprintf("%v", suffix)
|
|
|
- txt := def_spec_fn.TrimSuffix(sf.val, suf)
|
|
|
|
|
- sf.val = txt
|
|
|
|
|
- return sf.val
|
|
|
|
|
|
|
+ txt := strings.TrimSuffix(sf.val.String(), suf)
|
|
|
|
|
+ sf.val.WriteString(txt)
|
|
|
|
|
+ return def_spec_base.Txt(sf.val.String())
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Atoi -- устанавливает и возвращает возможное число.
|
|
// Atoi -- устанавливает и возвращает возможное число.
|
|
@@ -46,17 +47,19 @@ func (sf MTxt) Atoi() *result.Result[def_spec_base.Num] {
|
|
|
sf.String(), err)
|
|
sf.String(), err)
|
|
|
return result.ResErr[def_spec_base.Num](err)
|
|
return result.ResErr[def_spec_base.Num](err)
|
|
|
}
|
|
}
|
|
|
- sf.val = def_spec_fn.Sprintf("%v", iRes)
|
|
|
|
|
|
|
+ sf.val.Reset()
|
|
|
|
|
+ sf.val.WriteString(fmt.Sprintf("%v", iRes))
|
|
|
return result.ResOk(def_spec_base.Num(iRes))
|
|
return result.ResOk(def_spec_base.Num(iRes))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Set -- изменение внутренней строки.
|
|
// Set -- изменение внутренней строки.
|
|
|
func (sf *MTxt) Set[T def_spec_fn.TxtConstraint](msg T, arg ...any) {
|
|
func (sf *MTxt) Set[T def_spec_fn.TxtConstraint](msg T, arg ...any) {
|
|
|
- _msg := def_spec_fn.Sprintf(msg, arg...)
|
|
|
|
|
- sf.val = _msg
|
|
|
|
|
|
|
+ _msg := fmt.Sprintf(string(msg), arg...)
|
|
|
|
|
+ sf.val.Reset()
|
|
|
|
|
+ sf.val.WriteString(_msg)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Let -- возвращает неизменяемую копию себя
|
|
// Let -- возвращает неизменяемую копию себя
|
|
|
func (sf *MTxt) Let() *LTxt {
|
|
func (sf *MTxt) Let() *LTxt {
|
|
|
- return LetTxt(sf.val)
|
|
|
|
|
|
|
+ return LetTxt(sf.val.String())
|
|
|
}
|
|
}
|