如何在埃菲尔铁塔的循环中跨循环使用后编码链表



>我尝试使用跨 1|..|list.count as j都 list.i_th(z) ~ 旧list.i_th(z)结束

但它说未知标识符 z。 这个语法有什么问题??

语法正确。但是,没有声明名称z的标识符,因此出现错误。取而代之的是游标变量j。当前光标位置的项目可通过 j.item 进行访问。

另一个问题是j是在当前上下文(后置条件)中计算的,但在执行特征体之前计算旧表达式,其中不存在j。因此,带有 old list.i_th (j.item) 的代码将无法编译。换句话说,该值应取自旧列表,但使用当前索引。表达式(old list).i_th (j.item)可以解决问题。

但这仍然没有做需要的事情。事实证明,old list = list是因为对列表对象的引用保持不变。要获取旧元素,需要列表的副本:(old list.twin)

结合上述所有内容,表达式应如下所示 across 1 |..| list.count as j all list.i_th (j.item) ~ (old list.twin).i_th (j.item) end .

相关内容

  • 没有找到相关文章

最新更新