Elixirを学習し、Functional Programmingをさらに理解するための練習として、ModbusプロトコルをElixirに実装しようとしています。Elixirのマップから複数のキーを使用して複数のアイテムを選択
Modbusデータは、連続したレジスタブロックとしてモデル化されています。 modbusの読み取り要求はの形式をとる。これは、サーバがレジスタから開始してレジスタを収集するようにサーバに指示します。たとえば、0で5だった場合、サーバーはレジスタ0,1,2,3、および4の値を返します。
これらのレジスタをモデリングするための優れたデータ構造は、 keyはレジスタ、valueはレジスタの値です。したがって、複数のキーが指定されたマップから複数の値を取得する慣用的な方法がある場合は、キーを繰り返し処理したり、各キーに対してget()を呼び出す必要はありません。
地図が本当に適切でない場合は、より良いデータモデルのための他の提案があります。
このタスクを実行するには、Pythonはオペレータモジュールにitemgetterを持っています。多分それは私が達成しようとしているものの別の手がかりを与えるでしょう。
あなたのコードはどこですか?ここに投稿してください。 – Sachith
私は、これがコードの問題ではなく、哲学の問題であると考えていました。私はいくつかのコードで私の質問を編集することができますが、それを一緒に置くために少し時間がかかります。 – idahogray