問題タブ [hash-of-hashes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
317 参照

perl - ハッシュ内のキーのマッピング - 存在する場合、マップ

ファイルの内容をハッシュのハッシュと比較しようとしています。このために、まだ効果的ではありませんがmap、 、ifおよびを使用しています。exists

基本的に、ファイルの列 0 から 2 が hash に存在するかどうかを知りたいです。もしそうなら、列 3 が内部ハッシュのキーとして存在するかどうかを調べたいと思います。私の「古いファイル.txt」は、次のハッシュを生成するタブ区切りのファイルです。

古いファイル.txt:

ハッシュ:

「new file.txt」からの次のタブ区切りの列がハッシュに存在するかどうかを確認します。

列 0 と列 2 の両方がハッシュに存在することに注意してください。ただし、列の 1 つだけが存在する必要があるため、これは重要ではありません。

u出力は、または他のファイルから取得する列を追加したテスト ファイルとまったく同じにすることができmます。例:

これは私がこれまでに得たところですが、私は得ていexists argument is not a HASH or ARRAY element or a subroutine at myfile.pl line 24ます:

あなたが私に与えることができるすべての助けに感謝します!前もって感謝します

0 投票する
2 に答える
308 参照

perl - Perl - ハッシュ構造内の要素を出力する

私は巨大な、巨大な、巨大なデータ構造を持っており、Data::Dumper から以下に示すような形式になっています (ただし、問題を説明するために大幅に簡略化されています)。

このハッシュ構造のさらに下からデータにアクセスしようとすると、実際に問題が発生します。これは以前に何度も行ったことがありますが、このインスタンスでは何らかの理由で機能していません。

このハッシュ構造の各要素にアクセスし、構造の各レベルを出力する正しい方法は何ですか? 例えば

0 投票する
1 に答える
85 参照

ruby-on-rails - 配列のRubyハッシュ

Flights空港の出発と到着のリストがあります。それぞれFlightに出発/到着時間があります。次のように、フライトのリストを時間別にグループ化して、左側に出発、右側に到着のタイムラインとして表示したいと考えています。

私はこのようなハッシュを作成しています:

これは機能しているようです。しかし、ビューでこの構造を解析して毎回アクセスする方法がわかりません。その後、2 つの配列の各オブジェクトにアクセスします。

0 投票する
3 に答える
335 参照

perl - perlでハッシュのハッシュの最高値にアクセスしますか?

だから私は次のようなハッシュのハッシュを持っています:

最大数の果物と最大数のチョコレートだけにアクセスしたい。出力は次のようになります。

果物:梨のチョコレート:スニッカーズ

難しいことではないことはわかっていますが、私は真っ白です!

0 投票する
1 に答える
72 参照

perl - perlでハッシュのハッシュの両方のレベルのキーをソートする

さまざまなカテゴリの特定の位置(およびそれらのかなりの数;〜40,000)でいくつかの値(ランダムに発生する)を追跡する必要があるコードがあるため、ハッシュのハッシュが最適であると考えました方法として、カテゴリをキーの最初のレイヤーとして、位置を 2 番目として、値を値として使用します。何かのようなもの:

次に、両方のカテゴリの順に並べ替えて印刷し、次に配置して、次のような出力ファイルを取得する必要があります。

しかし、ネストされた並べ替えの構文を理解することはできません (または、このアプローチよりも優れたアイデアを持っている人はいますか?)

0 投票する
1 に答える
859 参照

perl - タブ区切りファイルを解析して配列のハッシュにする

私は次のことを実行しようとしている perl 初心者です。

1) ユーザー入力
を取得します 2) 入力をファイル 1 の列 1 からのその値のインスタンスと照合し、列 2 からの対応する値をハッシュ、配列のハッシュ、またはハッシュのハッシュに格納します。(以下のコードは配列のハッシュに格納されますが、これが以下の 3 を達成するのに最適かどうかはわかりません)
3) ファイル 2 の最初の列 = ファイル 1 の列 2 のすべてのインスタンス (存在する場合) を見つける必要があります。

簡単にするために、以下にサンプルファイルを用意しました。

入力ファイルの列 1 にある「AAA」のユーザー入力を、列 2 の対応するすべての値のキーとして、ハッシュまたは配列に取り込もうとしています。

私の入力ファイルには、列 1 に「AAA」の複数のインスタンスがあり、列 2 の値が異なります。また、列 1 と 2 に「AAA」と「BBB」の複数のインスタンスがあります。これを適切に出力するには、ハッシュのハッシュを使用しますが、構文的にアプローチする方法がわかりません。

私はこのサイトを検索していくつかの例を見つけましたが、私は自分自身をもっと混乱させているだけだと思います.

入力ファイルの例。

私のコードの例

コード出力

私の質問は、配列設定の現在のハッシュは、ファイル 2 の列 1 を読み取り、それをファイル 1 の列 2 と比較するのに最適でしょうか? それとも、別の方法でアプローチする必要がありますか?

0 投票する
2 に答える
283 参照

perl - ハッシュのPerlハッシュ

そこで、Perl HoH を使用して、いくつかの値を HoH から配列にプッシュしようとしています。

以下は、より適切に説明するためのコードの一部です。

基本的に、このスクリプトの目的は HoH をループすることですが、ハッシュの各ブロック全体で が得られますSTDIN。次に を入力し、その要素の を配列keyにプッシュします。value(現在、コードはprintデバッグ用とだけ言っています)。

私が試してみました

$hoh{$group}私が取得し、HASH(0x6ff920)他のすべての値は空白であり、エラーはありません。

何かご意見は?ありがとうございました

0 投票する
3 に答える
192 参照

ruby - デフォルト ハッシュの構造を使用してハッシュ オブ ハッシュを作成する

次のコードがあります。

ハッシュのキー:idの値は, ,であると予想します。:detailKEY-0KEY-1KEY-2

0 投票する
2 に答える
657 参照

perl - ハッシュのPerlハッシュ、最小の数値キーを取得

最初のキーが文字列で、2 番目のキーが整数であるハッシュのハッシュがあります。ハッシュのハッシュで最も低い 2 番目のキーを取得しようとしています。これが私のハッシュです。

ハッシュの最小 (最小) キーを取得するにはどうすればよいsimpsonsですか? この場合、答えは になります3。私が見つけた最も近い関連検索は、最高値のキーを取得する方法でした。しかし、数値が最も低いキーを取得しようとしています。

================== 編集 ============ 私の試み ================

キー(1、2、3、4など)が存在しない可能性があるため、キーを順番にループして(1、2、3、4など)、最も低いキーを格納して返すことはできません。おそらく、キーを別の配列に格納し、その配列に格納されている最小のキーを取得しようとしたでしょう。それが私の試みです。それは一種のラウンドアバウトな方法です。それは回り道なので、次にもっと簡単な方法(ワンライナーの方法)があるかどうかを確認するために、さらにグーグルを実行したでしょう。

0 投票する
1 に答える
599 参照

arrays - ネストされた Perl ハッシュからの配列参照の逆参照

その主題を正しく述べたことを願っています。ファイルの読み取りから構築したハッシュのハッシュがあります。外側のハッシュはグループで、内側のハッシュはそのグループ内のパラメーターです。各パラメーター値はスカラーまたは配列のいずれかであり、配列はゼロまたは 1 から開始できます。

パラメータの値を返すサブルーチンを作成しました。呼び出し元の関数は、戻り値がスカラーか配列かを判断する必要があります。スカラーに対してはうまく機能します。配列値の配列への参照を返します ( のようになりますARRAY(0x004f00))。を使用Data::Dumperすると、配列のように見えるデータが吐き出されますが、コードでそれを逆参照する方法がわかりません。誰かが私が間違っていることを指摘できますか?

呼び出し元は戻り値を配列 に代入する@returnため、スカラーの場合は値を に入れる必要があります$return[0]

配列の場合は、配列に値を設定する必要があります。を呼び出すとDumper、一重引用符で囲まれたスカラーと角括弧で囲まれた配列が出力されます。ただし、scalar(@return)配列のサイズを確認するために使用すると、1 が返されます。

最後に角括弧を使用して return ステートメントを逆参照して、スカラーを返すことさえできるかどうかを確認しましたが、うまくいきませんでした。