【发布时间】:2018-02-24 08:52:32
【问题描述】:
我有 2 个列表:
alist: [a b c d]
blist: [1 2 3 4]
(实际上它们是很长的列表)。如何一次性将 alist 中的变量分配给 blist 中的相应值?因此 a 变为 1,b 变为 2,依此类推。
我试过了:
foreach i alist j blist [i: j]
但它给出了以下错误:
*** Script Error: j has no value
*** Where: foreach
*** Stack:
我也试过了:
i: 1
while [true] [
if i > (length? alist) [break]
alist/i: blist/i
i: i + 1
]
但它也不起作用:
*** Script Error: cannot set none in path alist/i:
*** Where: set-path
*** Stack:
alist/i 和 blist/i 返回 none(使用打印命令检查)。
其他语言也有类似的问题,例如:Parallel array assignment in PHP 和 Parallel assignment in Java?。感谢您的帮助。
【问题讨论】:
标签: list variable-assignment rebol red