我想从Unicode代码点创建测试字符串
像这样
65 asCharacter asString,
66 asCharacter asString,
67 asCharacter asString,
65 asCharacter asString,
769 asCharacter asString
或者
String with: 65 asCharacter
with: 66 asCharacter
with: 67 asCharacter
with: 65 asCharacter
with: 769 asCharacter
这有效,但是
我正在寻找一种将整数值数组转换为String类的实例的方法。
#(65 66 67 65 769)
有内置的方法吗?我正在寻找这样的答案,在Smalltalk实现中测试Unicode支持的正确方法是什么?一,但字符串。
很多方法
1. #streamContents:
如果要进行较大的字符串连接/构建,请使用流,因为它更快。如果只是连接几个字符串,则使用更易读的内容。
String streamContents: [ :aStream |
#(65 66 67 65 769) do: [ :each |
aStream nextPut: each asCharacter
]
]
或者
String streamContents: [ :aStream |
aStream nextPutAll: (#(65 66 67 65 769) collect: #asCharacter)
]
2. #withAll:
String withAll: (#(65 66 67 65 769) collect: #asCharacter)
3. #collect:as:字符串
#(65 66 67 65 769) collect: #asCharacter as: String
4. #joinUsing:字符
(#(65 66 67 65 769) collect: #asCharacter) joinUsing: ''
笔记:
至少在Pharo中,您可以使用[ :each | each selector ]
,也可以仅使用#selector
。我发现后者对于简单的东西更具可读性,但这可能是个人喜好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句