問題タブ [perl-data-structures]
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.
arrays - ハッシュに格納されている配列要素にアクセスするにはどうすればよいですか?
私はスクリプトに取り組んでおり、ハッシュに格納されている配列からいくつかの値を取得しようとしています。Googleで検索した後、SOで質問を検索し(タイトルが似ているものの、未解決のままであるか、私の問題とは少し異なる問題を解決しているものもあります)、データ構造クックブックをチェックして、妥当な方法ですべてを試した後、あなたの助けを求めるようになりました。
ハッシュ$action
と配列があり$action->{'Events'}
ます。の出力は次のprint Dumper($action->{'Events'});
とおりです。
たとえば、の値を取得する必要がありますが$action->{'EVENTS'}->{'CallerIDName'}
、この構文や他の多くの構文は機能しません。私も試したことが$action->{'EVENTS'}[6]
あり$action->{'EVENTS'}->[6]
ます。
arrays - ハッシュのPerl配列-配列内の各ハッシュを参照しますか?
ハッシュの配列を作成しようとしていますが、配列内の各ハッシュを参照する方法を知りたいですか?
例:
助けてくれてありがとう。
arrays - 配列をマップ値の問題として保存する
@arr
都市名を直接含めたい。$arr[0]
印刷するc1
ときになりたいです。コードの何が問題になっていますか?
perl - ハッシュをループするにはどうすればよいですか?
次の変数が与えられます:
どのキーを持っているかを知らなくても、どのようにしてすべての割り当てをループできますか?
選択ボックスに結果をラベルとして、キーを非表示の値として入力したいと思います。
arrays - 最初に変数を宣言せずに参照を行うことはできますか?
私は動作するこのコードを持っています
しかし、最初に変数を宣言しなくても実行できますか?
function
引数は参照として持つ必要があります。
perl - perl スクリプトの引数に二重クォータが含まれています」
3 つの引数を受け取る perl スクリプトがあります。
最初の引数は非常に長く、スペースと引用符が含まれています。実際には、どのサイズが予想されるかはわかりません。引数を区切るには、「:」記号を使用します。
例を参照してください: ./my_script.pl 2MT5 4XAW KEAR TTRR YYMM "TEMP 2012 FEB 01":Single:123.x
問題は、二重引用符とスペースが失われることです。出力を参照してください。
私のコード:
perl - これはどのようなデータ形式ですか?
次の形式のデータファイルがたくさんあります。
これはほんの一例です。実際のファイルには数千行あります。
私の無知を許してください、しかし私はフォーマットを認識しません。これは一般的な形式ですか、それとも既知の形式ですか?名前はありますか?
私はそれをPerlで処理したいと思っており、パーサーを自分で作成しなくても、Perlデータ構造に簡単に変換できる外部モジュールがあるかどうか疑問に思いました。結局のところ、なぜ車輪を再発明するのですか?;-)
perl - 複雑な Perl データ構造のウォーキング / ソートのヘルプ (HoH with AoH fun)
ここ数時間、頭を壁にぶつけています。
このようなデータ構造があります (「Data::Dumper」からの出力)。それは私自身のせいです。入力を解析しているときにデータ構造を作成しています。
- 何千もの「NAME」キーがあります。
- 「id」と「total」は常に 1 つだけです。
- 「結果」ハッシュには、1 つ以上のキーと値のペアが含まれる場合があります。
最初に「合計」でソートし、次に「結果」配列の各ハッシュの値でソートしたコンマ区切りのリストを出力したいと考えています。
次のコードは、既に保存されているデータ構造から CSV を出力するために使用されました。
これは問題なく、うまく機能しました (なぜ私がもう Perl を使わないのかを思い出すことは別として)。
出力例は次のようになりました。
でも!(「結果」ハッシュで)キーの衝突が発生していることに気付き、すべてのデータを保持して報告する必要があるため、「結果」をハッシュの配列に変更してみることにしました...
- 何千もの「NAME」キーがあります。
- 「id」と「total」は常に 1 つだけです。
- "results" 配列には 1 つ以上のハッシュが含まれる場合があります。
- "results" 配列内の各ハッシュには、名前と値のペアが 1 つだけ含まれます。
誰かがここまで読んだかどうかにかかわらず、これを書き留めるのはかなり治療的だと言わざるを得ないので、続けます... ;-)
新しいデータ構造については、ソート/印刷コードに問題があります。
あなたがここまで読んだなら、私はあなたに敬意を表します。あなたが助けてくれるなら、私はあなたに拍手を送ります。
データ構造の代替フォーマットについて提案がある場合は、お知らせください。(興味がある方のために...「フリップフロップ」演算子を使用してソース ファイルのブロックをキャプチャし、それを行ごとに使用してデータ構造を作成しています。特定のものを計算し (Perl に相当するものはありません)、結果も保存するプログラム)。
ありがとう
arrays - Perl 配列とリスト
Perl には 2 つのデータ構造があります。
配列:
次の出力が得られます。
そしてリスト:
次の出力が得られます。
明らかに、どちらの場合も要素を反復処理したいのですが、2 番目の解決策でこの配列への参照しか得られないのはなぜでしょうか?
perl - perl でのハッシュ参照へのアクセス
次のことがperlでできるかどうか疑問に思っています。40 ~ 50 行のコードを節約できます。
次のようなハッシュデータ構造があります。
私は次のことができる方法があるのだろうかと思っています:
そして、次を使用します。
要約すると、階層内のポイント「x」までハッシュ参照を変数に格納し、ポイント「x」が指す参照にアクセスしたいと考えています。これは上記の例でより明確になると思います。
詳細
私はいくつかのことを試しましたが、うまくいかないようです。コードをコピーしていますが、ハッシュをコピーしようとしたすべてのものではありません。また、私が得ている出力は次のようなものです
私はこのようなものを期待します:
ここに私が使用したいくつかのコードがあります:
サンプル コードで試みたように、perl の要素に基づいて、場合によっては 1 つのループを使用して、ハッシュ参照の階層を構築したいと考えています。
ありがとう!-アビ