loop do
    print("    这是解一次方程机!\n    请输入方程的元的数量!\n")
    @unknown = gets.to_f.to_i
    if [email protected]?(1, 3)
        print("    元的数量必须少于4且为正整数!\n\n")
        next
    end
    print("    ax = b\n    请输入常数的值:\n    a = \n    b = \n    输入格式为“[a, b]”。\n") if @unknown == 1
    print("    a1x + b1y = c1\n    a2x + b2y = c2\n    请输入常数的值:\n    a1 =     a2 = \n    b1 =     b2 = \n    c1 =     c2 = \n    输入格式为“[a1, a2, b1, b2, c1, c2]”。\n") if @unknown == 2
    print("    a1x + b1y + c1z = d1\n    a2x + b2y + c2z = d2\n    a3x + b3y + c3z = d3\n    请输入常数的值:\n    a1 =     a2 =     a3 = \n    b1 =     b2 =     b3 = \n    c1 =     c2 =     c3 = \n    d1 =     d2 =     d3 = \n    输入格式为“[a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3]”。\n") if @unknown == 3
    begin
        @ary = eval(gets)
    rescue
        print("    非法的输入!\n\n")
        next
    end
    if @ary.class != Array
        print("    非法的输入!\n\n")
        next
    end
    begin
        @result = [@ary[1] / @ary[0].to_f] if @unknown == 1
        @result = [((@ary[4] * @ary[3] - @ary[5] * @ary[2]) / (@ary[0] * @ary[3] - @ary[1] * @ary[2]).to_f), ((@ary[0] * @ary[5] - @ary[1] * @ary[4]) / (@ary[0] * @ary[3] - @ary[1] * @ary[2]).to_f)] if @unknown == 2
        @result = [((@ary[9] * @ary[4] * @ary[8] + @ary[10] * @ary[5] * @ary[6] + @ary[11] * @ary[3] * @ary[7] - @ary[9] * @ary[5] * @ary[7] - @ary[10] * @ary[3] * @ary[8] - @ary[11] * @ary[4] * @ary[6]) / (@ary[0] * @ary[4] * @ary[8] + @ary[1] * @ary[5] * @ary[6] + @ary[2] * @ary[3] * @ary[7] - @ary[0] * @ary[5] * @ary[7] - @ary[1] * @ary[3] * @ary[8] - @ary[2] * @ary[4] * @ary[6]).to_f), ((@ary[0] * @ary[10] * @ary[8] + @ary[1] * @ary[11] * @ary[6] + @ary[2] * @ary[9] * @ary[7] - @ary[0] * @ary[11] * @ary[7] - @ary[1] * @ary[9] * @ary[8] - @ary[2] * @ary[10] * @ary[6]) / (@ary[0] * @ary[4] * @ary[8] + @ary[1] * @ary[5] * @ary[6] + @ary[2] * @ary[3] * @ary[7] - @ary[0] * @ary[5] * @ary[7] - @ary[1] * @ary[3] * @ary[8] - @ary[2] * @ary[4] * @ary[6]).to_f), ((@ary[0] * @ary[4] * @ary[11] + @ary[1] * @ary[5] * @ary[9] + @ary[2] * @ary[3] * @ary[10] - @ary[0] * @ary[5] * @ary[10] - @ary[1] * @ary[3] * @ary[11] - @ary[2] * @ary[4] * @ary[9]).to_f)] if @unknown == 3
    rescue
        print("    非法的输入!\n\n")
        next
    end
    print("    解为\n")
    print("    x = #{@result[0]}\n") if @unknown >= 1
    print("    y = #{@result[1]}\n") if @unknown >= 2
    print("    z = #{@result[2]}\n") if @unknown >= 3
    print("    谢谢使用解一次方程机!\n\n")
end