再一次我被卡住了。
我有一對字符串對[(String, String)]
的列表,並希望在其中查找另一個字符串。 當子串匹配元組中的第一個時,我想返回第二個,反之亦然。搜索兩個元素中的字符串
我有一些想法,但又一次,我不知道如何在Haskell中正確應用函數。 我的第一個想法是使用map
,但那不會真的能給我一個字符串作爲結果嗎?
我正在考慮使用filter
。首先搜索一對中的第一個子串,然後搜索第二個子串。
這是據我得到:
search :: String -> [(String, String)] -> String
search substr xs = filter(==substr) xs.fst
而且它甚至不工作:/
我很感謝任何意見!
感謝
這當然可以被推廣一下。 – Ingo
謝謝!但是如果我想返回一個默認的字符串以防萬一找不到,該怎麼辦?撇號的確做了什麼?' – Henry
@Ingo,謝謝,推廣它。 @Henry,Pattern在'Nothing'上匹配並返回你想返回的默認字符串。撇號沒什麼特別的。它只是與'xs'有關的另一個變量。 – Sibi