吱吱声的新线

时间:2009-05-19 08:58:26

标签: smalltalk squeak

我想做这样的事情:成绩单显示:'\ n'。如何?

4 个答案:

答案 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等......