如何做与此等效的事情:
In: A = [ 1 2 3 ]
In: B = 2 * A
In: B
Out: [ 2 4 6 ]
这个方法得到了一部分的方式:
In: do for [i in "1 2 3"] { print 2*i }
Out:
2
4
6
但我想返回另一个可用于进一步操作的列表/数组。
正如您已经发现的那样,使用空格分隔的单词是模拟数组的唯一方法。因此,您必须再次将输出格式化为字符串,其中单个条目由空格分隔:
out = ''
do for [i in "1 2 3"] {
out = out . sprintf('%d ', 2*i)
}
print sprintf('%d entries: %s', words(out), out)
这打印
3 个条目:2 4 6
如果使用浮点数,则必须使用例如 '%f' 来格式化输出:
out = ''
do for [i in "1.1 2.2 3.3"] {
out = out . sprintf('%f ', 2*i)
}
print sprintf('%d entries: %s', words(out), out)
words
计算字符串中的单词,您可以使用word
它从字符串中提取某个单词(从 开始1
):
print word(out, 2)
4