Kwa*_*aku 4 string unicode smalltalk squeak pharo
我想从Unicode代码点创建一个测试字符串
像这样的东西
65 asCharacter asString,
66 asCharacter asString,
67 asCharacter asString,
65 asCharacter asString,
769 asCharacter asString
Run Code Online (Sandbox Code Playgroud)
要么
String with: 65 asCharacter
with: 66 asCharacter
with: 67 asCharacter
with: 65 asCharacter
with: 769 asCharacter
Run Code Online (Sandbox Code Playgroud)
这有效
我正在寻找一种方法将整数值数组转换为类String的实例.
#(65 66 67 65 769)
Run Code Online (Sandbox Code Playgroud)
有内置的方法吗?我正在寻找这样的答案在Smalltalk实现中测试Unicode支持的正确方法是什么?一个,但对于字符串.
很多种方法
1. #streamContents:
如果您正在执行更大的字符串连接/构建,请使用流,因为它更快.如果只是连接几个字符串使用更可读的东西.
String streamContents: [ :aStream |
#(65 66 67 65 769) do: [ :each |
aStream nextPut: each asCharacter
]
]
Run Code Online (Sandbox Code Playgroud)
要么
String streamContents: [ :aStream |
aStream nextPutAll: (#(65 66 67 65 769) collect: #asCharacter)
]
Run Code Online (Sandbox Code Playgroud)
2. #withAll:
String withAll: (#(65 66 67 65 769) collect: #asCharacter)
Run Code Online (Sandbox Code Playgroud)
3. #collect:as:String
#(65 66 67 65 769) collect: #asCharacter as: String
Run Code Online (Sandbox Code Playgroud)
4. #joinUsing:字符
(#(65 66 67 65 769) collect: #asCharacter) joinUsing: ''
Run Code Online (Sandbox Code Playgroud)
注意:
至少在Pharo你可以使用[ :each | each selector ],或只是简单地使用#selector.我发现后者对于简单的事情更具可读性,但这可能是个人偏好.