gpt4 book ai didi

string - 如何从整数序列构造一个 String 实例?

转载 作者:行者123 更新时间:2023-12-04 22:04:00 25 4
gpt4 key购买 nike

我想从 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)

有没有内置的方法?
我正在寻找类似 What is the correct way to test Unicode support in a Smalltalk implementation? one 的答案,但对于字符串。

最佳答案

很多种方法

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: ''

Note:



至少在 Pharo 中,您可以使用 [ :each | each selector ] ,或者只是 #selector 。我发现后者对于简单的事情更具可读性,但这可能是个人喜好。

关于string - 如何从整数序列构造一个 String 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34232965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com