我正在尝试在 ML 中实现类似于哈希表的东西,但我想使用列表作为键。我想我可以使用 ORD_MAP 结构,但我想为 ORD_KEY 签名提供我自己的结构,这样我就可以使用列表作为 ord_keys,但我找不到办法。怎么可能做到?
			
			1304 次
		
2 回答
            4        
        
		
ORD_MAP 和 ORD_KEY 是签名。如果您希望能够使用地图,则需要特定的实现。例如:
structure Key =
  struct
    type ord_key = int
    val compare = Int.compare
  end
structure Map = RedBlackMapFn (Key)
然后,你可以这样做:
  - Map.singleton (1, "foo");
   val it = - : string map
   - Map.find (it, 1);
   val it = SOME "foo" : string option
   -   
希望有帮助!这些接口的文档是: http ://www.smlnj.org/doc/smlnj-lib/Manual/toc.html
于 2013-02-12T22:29:46.973   回答
    
    
            0        
        
		
我认为回答你问题的一个例子是康奈尔大学的讲座: 康奈尔大学的讲座
于 2015-06-18T20:12:48.207   回答