【发布时间】:2018-08-08 06:30:55
【问题描述】:
为了“填充”我正在打印的数字,使其始终是固定数量的字符,我正在根据给定数字的整数数量制作填充字符串:
pad := ' '.
(freqVal < 10) ifTrue: [ pad := ' ' ].
((freqVal < 100) & (freqVal > 9)) ifTrue: [ pad := ' ' ].
((freqVal < 1000) & (freqVal > 99)) ifTrue: [ pad := ' ' ].
stdout<<pad<<freqVal<<<<nl
但是,打印的结果总是将变量 pad 变成一个字母,而不是像我分配它的值那样的空格。如果我在最后一行之前添加pad displayNl,它会出于某种原因打印出一个字母,而不仅仅是空格。
任何想法为什么会发生这种情况?
【问题讨论】:
-
当我在 GNU Smalltalk 中尝试此代码时,
<<<<nl位给了我一个错误并且它不会执行。如果我这样做pad displayNl我看不到任何无关的字符被打印出来。你看到的是什么角色?