我想做这样的事情:成绩单显示:'\ n'。如何?
答案 0 :(得分:10)
使用以下内容:
Transcript cr
您可以通过级联在值之后使用它:
Transcript show: 123; cr
答案 1 :(得分:4)
角色本身可以Character cr
到达。所以,你也可以这样做:
Transcript show: 'Bla! , Character cr asString.
但当然,
Transcript show: 'Bla!' ; cr.
更优雅。
答案 2 :(得分:4)
从我的(长期)经验来看,缺少角色逃脱是Smalltalk中缺少的少数事情之一。对于流式传输,使用cr,tab等的解决方案都可以。
但是,如果你需要字符串中的特定控制字符,这可能是丑陋的并且难以阅读(使用“streamContents:”或“withCRs”来添加newLine)。或者,您可能希望使用(非标准)字符串扩展机制之一。例如,在VisualWorks或Smalltalk / X中,您可以编写(如果我没记错的话):
'someString with newline<n>and<t>tabs' expandMacros
或甚至与其他对象的printStrings的printf类切片:
'anotherString<n><t>with newlines<n>and<t>tabs and<p>' expandMacrosWith:(Float pi)
我想,Squeak和V'Age也有类似的东西。
但是,请注意:这些扩展是在执行时完成的。因此,在许多字符串上大量使用它们时可能会遇到惩罚。
答案 3 :(得分:0)
为方便起见,我做的是添加方法&#34; line&#34;到String类:
obj showSomething: 'Hello world!' line.
然后你可以说{{1}}
或称之为换行符,endl,lf等......