Smalltalk中如何在字符串中插入制表符

3
你如何在字符串中插入“制表符”?我以为是用t括在<>里,但实际上我这样做:
'Name <t> Age <t> Occupation'

打印出与其输入完全相同的内容。我想要得到

Name    Age     Occupation          

替代

Name <t> Age <t> Occupation
2个回答

3
'Name ', String tab, ' Age ', String tab, ' Occupation'

如果String不理解#tab,您需要执行以下操作:
'Name ', Character tab asString, ' Age ', Character tab asString, ' Occupation'

2

如Damien所指出的,您可以简单地连接几个String tab调用来实现您想要的效果。然而,如果在基于Squeak的Smalltalks中对字符串调用expandMacros,则会发生您尝试的<t>技巧。例如:

'Here is<t>a tab and<n>a blank line' expandMacros

这个机制是通用的,而且很容易扩展;详情请参见String>>expandMacrosWithArguments:

这两个都不起作用。我没有使用Squeak,而是使用Visual Works。这会成为一个问题吗? - user69514
是的,它们是针对Squeak特定的。我会为您找出VisualWorks的变体。 - Benjamin Pollack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接