2015-09-27 80 views
1

我试图做一个类型(int选项列表)列表变量。OCaml类型(int选项列表)列表

let blah:(int option list)list = [一些30 ;一些77] :: [一些2;一些3] ;;

但是,这不检查类型。 我想我在语法上真的很失落。

回答

6

你几乎得到它:

let blah : (int option list) list = [Some 30 ; Some 77]::[[Some 2] ; [Some 3]] 

或者其可读性:

let blah = [[Some 30; Some 77]; [Some 2]; [Some 3]] 

的类型问题是在::应用:你有不同的类型的左侧和元素的右侧。

+3

或更确切地说'[大约30;一些77] :: [一些2;一些3] :: []' –