语法错误,意外的keyword_end结束

cfr*_*k12 0 ruby syntax syntax-error

我正在进入Ruby,我已经搜索和搜索并查看了语法,但我无法弄清楚出了什么问题.

该程序应该解决ProjectEuler问题.

我遇到了四种语法错误:

unexpected keyword_end end
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

grid = #20x20 "grid"/array of numbers

largest = 0

lateral(0,1,2,3)
vertical(0,20,40,60)
diagonal_right(0,21,42,63)
diagonal_left(3,22,41,60)

puts largest 

#lateral
def lateral(a, b, c, d) 
    while (d < grid.size)
        temp = grid[a] * grid[b] * grid[c] * grid[d] 

        if (temp > largest)
            largest = temp
        end

        if ((d % 19) == 0)
            a += 4
            b += 4 
            c += 4
            d += 4
        else 
            a++
            b++
            c++
            d++
        end  # <===== getting syntax error here
    end
end

def vertical(a, b, c, d)

    while (d < grid.size)
        temp = grid[a] * grid[b] * grid[c] * grid[d] 

        if (temp > largest)
            largest = temp
        end

        a++
        b++
        c++
        d++
    end    # <===== getting syntax error here
end

def diagonal_right(a, b, c, d) 

    while (d < grid.size)
        temp = grid[a] * grid[b] * grid[c] * grid[d] 

        if (temp > largest)
            largest = temp
        end

        if ((d % 19) == 0)
            a += 4
            b += 4 
            c += 4
            d += 4
        else 
            a++
            b++
            c++
            d++
        end    # <===== getting syntax error here
    end
end

def diagonal_left(a, b, c, d) 

    while (d < (grid.size - 4))
        temp = grid[a] * grid[b] * grid[c] * grid[d] 

        if (temp > largest)
            largest = temp
        end

        if ((a % 19) == 0)
            a += 4
            b += 4 
            c += 4
            d += 4
        else 
            a++
            b++
            c++
            d++
        end      # <===== getting syntax error here
    end
end
Run Code Online (Sandbox Code Playgroud)

我标记了四个我得到语法错误的地方.

我调整了括号,玩了并仔细检查了end位置和金额.我不明白它有什么问题.这可能是翻译问题吗?我正在使用MacBook Pro.

Urs*_*sus 5

++运营商不存在红宝石.你应该去+= 1.