簡體   English   中英

在Haskell中更新列表的元組元素

[英]Updating tuple elements of a list in Haskell

我在Haskell中編寫的程序有一個我定義類型的列表實例:

type Locals = [(String, Float)]

我試圖通過接收字符串並更新相應的浮點值來更新此列表,但String可能不在列表中。

由於Haskell列表是不可變的,我決定最簡單的方法是執行此操作(在偽代碼中):

if a tuple containing the string exists:
    delete it

add the correct data

我想知道:

a)如果有更簡單的方法可以做到這一點

b)如果沒有,我將如何刪除正確的元素

謝謝

這看起來像一個關聯地圖。 我會使用Data.Map 這在其他語言中被稱為“字典”。 Map.insert您的需求。

似乎最好的方法是做到這一點

filter (\x -> fst x /= s) xs

無論如何,不​​需要任何幫助,謝謝。

addToALData.List.Utils做你想要的。

將指定的(鍵,值)對添加到給定列表,刪除任何已存在的具有相同鍵的現有對。

我是Haskell的新手。 純娛樂。

func xs str value = (str, value) : foldr step [] xs where
        step x acc
            | fst x == str = acc
            | otherwise = x:acc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM