我试图在数组中找到第一个非零数字的索引。在这里进一步解释是预期的,
考虑一个数组 - [0;0;1;2;0;4;5;6]
预期结果将是数字1
的索引,返回结果索引应为 2nd
。
如果答案避免使用序列运算符和循环,那将会很棒。
提前致谢!
答案 0 :(得分:3)
如果没有let
,在香草OCaml中序列为op ;
,for
和while
,我可以写道:
class c = object (self)
method f i = function
| x::_ when x <> 0 -> i
| _::xs -> self#f (i+1) xs
| [] -> failwith "Got the answer from StackOverflow"
end
;;
(new c)#f 0 [0;0;1;2;0;4;5;6];;