1
我是ML新手,我有一個字符數組!我試圖找到一個數組函數,以便給函數char#「T」並返回該數組中該元素的位置。一個提示可能是非常有用的,因爲我嘗試了查找功能,它不能這樣工作!標準ML編程,數組函數
我是ML新手,我有一個字符數組!我試圖找到一個數組函數,以便給函數char#「T」並返回該數組中該元素的位置。一個提示可能是非常有用的,因爲我嘗試了查找功能,它不能這樣工作!標準ML編程,數組函數
findi
from 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
非常感謝你的幫助,它不是一個家庭作業,但我需要的,我在毫升我書面方式的程序,其中compliler犯規接受使用遇見的作爲你能否給我更多的解釋,以便回覆角色的位置? –
當然。添加了一個如何做到這一點的例子。 – jacobm