たとえば、私はまたはになり"hello"
たいlist(104, 101, 108, 108, 111)
ですlist("h", "e", "l", "l", "o")
これまでのところ、空のリストを作成し、foreach
すべての項目を自分で使用してリストに追加しましたが、それは実際には簡潔な方法ではありません。
たとえば、私はまたはになり"hello"
たいlist(104, 101, 108, 108, 111)
ですlist("h", "e", "l", "l", "o")
これまでのところ、空のリストを作成し、foreach
すべての項目を自分で使用してリストに追加しましたが、それは実際には簡潔な方法ではありません。
私自身の提案:
Sequence asList := method(
result := list()
self foreach(x,
result append(x)
)
)
パフォーマンスに関してはテストしていませんが、正規表現を避けることで何かが説明できるはずです。
別の非常に簡潔ですが、残念ながらforeach
ソリューションよりも遅いのは次のとおりです。
Sequence asList := method (
Range 0 to(self size - 1) map (v, self at(v) asCharacter)
)
1 つの方法は、Regex アドオンを使用することです。
#!/usr/bin/env io
Regex
myList := "hello" allMatchesOfRegex(".") map (at(0))
しかし、他の (そしておそらくもっと良い!) 方法があるはずです。
更新- re: 問題の私のコメント。Sequence オブジェクトに何かを組み込むとよいでしょう。例:
Sequence asList := method (
Regex
self allMatchesOfRegex(".") map (at(0))
)
# now its just
myList := "hello" asList