ネストされたカスタムデータ型のリスト値を変更するにはどうすればよいですか?

LHurttila

次のように新しいデータ型を作成したとします。

data Typex = Typex {
   level       :: Int,
   coordinate  :: (Int, Int),
   connections :: [(Int,(Int,Int),Double)]  -- edited to be a tuple
   } deriving Show

を使用する上位レベルから接続を変更したい[[TypeX]]カスタムタイプにネストされたループ、fmap、ファンクターインスタンスが必要ですか、それとも何を提案しますか?

Fyodor Soikin

まず、単一の接続をどのように変更するかを説明します。名前を付けます:

modConnection (i, (j, k), d) = (i + 42, (j*5, k), d)

接続のリスト全体を更新するには、次を使用しますmap

modConnections cons = map modConnection cons

レコードのフィールドを更新するには、Haskellレコード更新構文を使用します。

modTypeX :: TypeX -> TypeX
modTypeX tx = tx { connections = modConnections (connections tx) }

これらのレコードのリスト全体を更新するには、次をmap再度使用します。

modTypeXList txs = map modTypeX txs

そして最後に、これらのリストのリスト全体を更新するには、mapもう一度使用します

modTypeXListList txs = map modTypeXList txs

もちろん、すべての中間関数に名前を付けたくない場合は、名前を付ける必要はありません。すべてをインラインで行うことができます。

modTypeXListList = map . map $ \tx -> tx { connections = map modConnection (connections tx) }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ネストされたdictの値をパンダのデータフレームに変換するにはどうすればよいですか?

分類Dev

Pythonで異なるデータ型のネストされたリストの要素を印刷するにはどうすればよいですか?

分類Dev

Haskellのカスタムデータ型のリストの長さを確認するにはどうすればよいですか?

分類Dev

Unity-カスタムサイズの他のリスト内のリストのサイズを動的に変更するためのカスタムエディターを作成するにはどうすればよいですか?

分類Dev

ネストされたデータ(名前付きリストをネストするtibble)で、ネストされた値の存在に基づいて、特定の深さレベルで新しい列を変更するにはどうすればよいですか?

分類Dev

ネストされたリストの各ボタンのテキストを変更するにはどうすればよいですか?

分類Dev

データフレームの値を値のリストに変更するにはどうすればよいですか?

分類Dev

カスタムCMakeターゲットに渡された環境変数を変更するにはどうすればよいですか?

分類Dev

カスタムCMakeターゲットに渡された環境変数を変更するにはどうすればよいですか?

分類Dev

カスタムCMakeターゲットに渡された環境変数を変更するにはどうすればよいですか?

分類Dev

カスタムジェネレーターのテストの量を変更するにはどうすればよいですか?

分類Dev

条件に基づいてPythonデータフレームの値(リスト)を変更するにはどうすればよいですか?

分類Dev

特定のFirebaseストレージパスデータが変更されたかどうかを検出するにはどうすればよいですか

分類Dev

データフレームのリストから特定の値を変更するにはどうすればよいですか?

分類Dev

その行のデータが変更されたときにリストの行を更新するにはどうすればよいですか?

分類Dev

代わりに、django モデル オブジェクトのネストされたシリアル化されたリストをキーと値のペアにカスタマイズするにはどうすればよいですか?

分類Dev

sugarcrmのカスタムドロップダウンフィールドの値の変更時にカスタムテキストエリアにデータを入力するにはどうすればよいですか?

分類Dev

カスタムデータ型のリストを文字列ビルダーに取得するにはどうすればよいですか?

分類Dev

ネストされたリストからデータフレームを作成するにはどうすればよいですか?

分類Dev

ボタンがクリックされるたびにボタンのテキスト値を変更するにはどうすればよいですか?

分類Dev

ネストされたリスト内のデータから複数の密度プロットを作成するにはどうすればよいですか?

分類Dev

PHP Guzzleは、フォークされたプロセスで空のコンテンツを含む空のボディストリームを提供しますが、ストリームラッパーのURIをカスタムのものに変更するにはどうすればよいですか?

分類Dev

ネストされたリストの値をフラット化せずに変更するにはどうすればよいですか?

分類Dev

Swift:デリゲートのジェネリック型を使用してカスタムオーバーライドされたUITableViewを作成するにはどうすればよいですか?

分類Dev

redux形式のネストされたフィールドでネストされたデータを取得するにはどうすればよいですか?

分類Dev

iOS、デリゲートスタイルでインターネット接続の変更を検出するにはどうすればよいですか?

分類Dev

JSONAngularJSからネストされたデータを取得するにはどうすればよいですか

分類Dev

元の配列を変更せずにネストされた配列をフィルタリングするにはどうすればよいですか?

分類Dev

ネストされたデータをCassandraに保存するにはどうすればよいですか

Related 関連記事

  1. 1

    ネストされたdictの値をパンダのデータフレームに変換するにはどうすればよいですか?

  2. 2

    Pythonで異なるデータ型のネストされたリストの要素を印刷するにはどうすればよいですか?

  3. 3

    Haskellのカスタムデータ型のリストの長さを確認するにはどうすればよいですか?

  4. 4

    Unity-カスタムサイズの他のリスト内のリストのサイズを動的に変更するためのカスタムエディターを作成するにはどうすればよいですか?

  5. 5

    ネストされたデータ(名前付きリストをネストするtibble)で、ネストされた値の存在に基づいて、特定の深さレベルで新しい列を変更するにはどうすればよいですか?

  6. 6

    ネストされたリストの各ボタンのテキストを変更するにはどうすればよいですか?

  7. 7

    データフレームの値を値のリストに変更するにはどうすればよいですか?

  8. 8

    カスタムCMakeターゲットに渡された環境変数を変更するにはどうすればよいですか?

  9. 9

    カスタムCMakeターゲットに渡された環境変数を変更するにはどうすればよいですか?

  10. 10

    カスタムCMakeターゲットに渡された環境変数を変更するにはどうすればよいですか?

  11. 11

    カスタムジェネレーターのテストの量を変更するにはどうすればよいですか?

  12. 12

    条件に基づいてPythonデータフレームの値(リスト)を変更するにはどうすればよいですか?

  13. 13

    特定のFirebaseストレージパスデータが変更されたかどうかを検出するにはどうすればよいですか

  14. 14

    データフレームのリストから特定の値を変更するにはどうすればよいですか?

  15. 15

    その行のデータが変更されたときにリストの行を更新するにはどうすればよいですか?

  16. 16

    代わりに、django モデル オブジェクトのネストされたシリアル化されたリストをキーと値のペアにカスタマイズするにはどうすればよいですか?

  17. 17

    sugarcrmのカスタムドロップダウンフィールドの値の変更時にカスタムテキストエリアにデータを入力するにはどうすればよいですか?

  18. 18

    カスタムデータ型のリストを文字列ビルダーに取得するにはどうすればよいですか?

  19. 19

    ネストされたリストからデータフレームを作成するにはどうすればよいですか?

  20. 20

    ボタンがクリックされるたびにボタンのテキスト値を変更するにはどうすればよいですか?

  21. 21

    ネストされたリスト内のデータから複数の密度プロットを作成するにはどうすればよいですか?

  22. 22

    PHP Guzzleは、フォークされたプロセスで空のコンテンツを含む空のボディストリームを提供しますが、ストリームラッパーのURIをカスタムのものに変更するにはどうすればよいですか?

  23. 23

    ネストされたリストの値をフラット化せずに変更するにはどうすればよいですか?

  24. 24

    Swift:デリゲートのジェネリック型を使用してカスタムオーバーライドされたUITableViewを作成するにはどうすればよいですか?

  25. 25

    redux形式のネストされたフィールドでネストされたデータを取得するにはどうすればよいですか?

  26. 26

    iOS、デリゲートスタイルでインターネット接続の変更を検出するにはどうすればよいですか?

  27. 27

    JSONAngularJSからネストされたデータを取得するにはどうすればよいですか

  28. 28

    元の配列を変更せずにネストされた配列をフィルタリングするにはどうすればよいですか?

  29. 29

    ネストされたデータをCassandraに保存するにはどうすればよいですか

ホットタグ

アーカイブ