代码之家  ›  专栏  ›  技术社区  ›  Tosh

ocaml获取语法错误[已关闭]

  •  -1
  • Tosh  · 技术社区  · 6 年前

    我在“module usingTable:TABLE=”行中遇到语法错误,当我尝试在oCaml中运行此代码时,usingTable一词被突出显示为红色。我想创建如下执行示例所示格式的表。它怎么了?我使用的环境是 https://try.ocamlpro.com/fun-demo/tryocaml_index.html#path%3Dtries 因为我不明白如何在windows中使用cygwin或oCaml Bash。

    module type TABLE = 
    sig
      type table 
      val emptyTable : table
      val printTable : table -> string
      val create_table : string * string list * (string list) list -> table  
    end;;
    
    module usingTable : TABLE =
    struct
      let emptyTable = ()
      let table = (string * (string * string list) list) 
    
      let rec printTable aTable = match aTable with
          ()->""
        | (title, [data]) -> "\n"^title^"\n\n"^printTable(data)
        | [(col,cont)::t] -> col^"   "^printTable([t]) 
    end;;
    
    let atable = usingTable.emptyTable;;
    let atable = ("Student", [("Id", ["2";"4";"7";"9"]);
                              ("Name", ["Jim";"Linnea";"Steve";"Hannah"]);
                              ("Gender",["Male";"Female";"Male";"Female"]);
                              ("Course",["Geography";"Economics";"Informatics";"Geography"])
                             ]);; 
    print_string (usingTable.printTable atable) ;;
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   ErikMD    3 年前

    正如我在评论中所建议的,在再次关注这个代码示例(它不仅包含语法错误,而且还包含类型错误)之前,您可能需要查看一些其他引用。

    例如,我建议使用以下链接: