标准ML编程,阵列功能

时间:2013-06-13 11:55:27

标签: arrays ml

在ML我有一系列字符!我试图找到一个数组函数,以给函数char#“T”并返回我在数组中的元素的位置。我尝试了find函数,它不能像那样工作!

1 个答案:

答案 0 :(得分:0)

来自findi结构的

Array将执行您想要的操作。对于'a array类型的数组,findi需要(int * 'a) -> bool'a array并返回(int * 'a) option。因此,如果你想获取一个角色并只返回角色的位置,你只需要找出传递给findi的适当参数以及解释结果的适当方法。

例如:

- fun findPos char = (Option.map (fn (i,_) => i)) o (Array.findi (fn (_,c) => c = char));
stdIn:2.65 Warning: calling polyEqual
val findPos = fn : ''a -> ''a array -> int option
- findPos #"c" (Array.fromList (explode "abcdef"));
val it = SOME 2 : int option
- findPos #"z" (Array.fromList (explode "abcdef"));
val it = NONE : int option
相关问题