当前位置:  开发笔记 > 编程语言 > 正文

如何从整数序列构造String实例?

如何解决《如何从整数序列构造String实例?》经验,为你挑选了1个好方法。

我想从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> Peter Uhnak..:

很多种方法

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

#(65 66 67 65 769) collect: #asCharacter as: String

4. #joinUsing:字符

(#(65 66 67 65 769) collect: #asCharacter) joinUsing: ''

注意:

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

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有