如何做与此相当的事情:
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
但我想返回另一个可用于进一步操作的列表/数组。
答案 0 :(得分:1)
正如您已经发现的那样,使用以空格分隔的单词是模拟数组的唯一方法。因此,您必须将输出再次格式化为一个字符串,其中单个条目由空格分隔:
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