試行錯誤の約数時間後、私はそれを行う方法を理解できませんでした...私が取り組んでいるコードは次のとおりです。
: format
( n ds -- )
>r cr .s
dup cr .s
>r cr .s
abs cr .s
s>d cr .s
<# [char] bl hold #s r> sign #> cr .s
r@ cr .s
dup cr .s
c@ cr .s
dup >r cr .s
chars + cr .s
char+ cr .s
swap cr .s
dup cr .s
>r cr .s
cmove cr .s
r> r> + cr .s
r> cr .s
c!
;
余談ですが...出力を印刷する簡単な方法はありませんかprintf
?もう 1 つの可能性は、一種の文字列の最初の文字としてスペース文字を指定することです。s" "
編集:
私ができることがわかりました:s\" \040 test"
Gforthで(マニュアルには標準ではないと書かれていますが)。そして、s\" \x20 test"
これはおそらく標準ですが、それが標準であるかどうかを示す文の部分がどこに関係しているかはよくわかりません。それでも、写真の数値出力と組み合わせる方法を教えていただければ幸いです。
EDIT2
これは私がそれが使用されると私が期待する方法です:
create test 256 allot
s" prefix " test place
123 test format
s" suffix" test place+
test count type \ prefix 123 suffix