首页 > 解决方案 > 在 Jack 语言中编译错误“预期 [或 =”。错误在哪里,为什么?

问题描述

目标是将一个数字按顺序插入到链表中。我根据我在 C 方面的知识编写了代码。我不知道 Jack 的很多语法。我试图搜索信息,但找不到任何有用的信息。

In List.jack (line 41): In subroutine insertInOrder: Expected [ or =

该方法包含:

class List {
    field int data;
    field List next;

    /* Creates a new List object. */
    constructor List new(int car, List cdr) {
        let data = car;
        let next = cdr;
        return this;

    /* Inserts the argument in the right position of the list (ascending order)*/
    method void insertInOrder(int ins){
        var List prev, curr, insert;
        let prev = this;
        let curr = prev.next();
        while (ins > prev.data()){
            if (ins < curr.data()){
                let insert = List.new(ins, curr);
                let prev.next() = insert;
            }
            else{
                let prev = prev.next();
                let curr = prev.next();
            }
        }
        return;
    }

问题出在:

let prev.next() = insert;

我如何理解错误?

标签: compiler-errors

解决方案


推荐阅读