問題タブ [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.
perl - Perlのハッシュに2次元配列を格納するにはどうすればよいですか?
私は perl でオブジェクトに苦労しており、2 次元配列を作成してオブジェクトのハッシュ フィールドに格納しようとしています。2次元配列を作成するには、配列への参照の配列が必要であることを理解していますが、それを実行しようとすると、次Type of arg 1 to push must be array (not hash element)
のエラーが発生します。コンストラクターは正常に動作し、正常にset_seqs
動作しますが、create_matrix
サブがこれらのエラーをスローしています。
これが私がやっていることです:
私が間違っていることについて何か考えはありますか?
perl - スクリプトの実行中に匿名のハッシュを作成して既知のハッシュに追加するにはどうすればよいですか?
これを例で説明しようと思います。ハッシュのハッシュの一般的な例を見てみましょう。
私の目的のために、名前のない、または匿名のハッシュを%HOHに追加できるようにしたいと思います。実行時まで、これらのサブハッシュを定義する必要はありません(または定義できません)。Perlでこれをどのように達成できますか?
私が読んだもの(そしてPerldocsとGoogleですでに読んだもの)はすべて、すべてのサブハッシュ(たとえば、「フリントストーン」、「ジェットソン」、「シンプソンズ」)が定義されている例を示しているようです。
私がやっていることは、CSVファイルからの行を含むサブハッシュを含む親ハッシュを構築しようとしています。
必要な「%LineX」ハッシュの数は、実行時までわかりません(実行時に読み取られるCSVの行数を表すため)。
何か案は?まだはっきりしていない場合は...私はまだPerlハッシュに頭を包み込もうとしています。
perl - ハッシュのハッシュからハッシュ スライスを取得するにはどうすればよいですか?
私は次のようなハッシュを持っています:
私が得るエラーは次のとおりです。印刷のある行であるq.pl行17で、未定義の値をARRAY参照として使用できません。
私が期待したのは1,2です
perl - Perl でハッシュに格納されている配列の要素にアクセスするにはどうすればよいですか?
私はPerlが初めてです。私を助けてください。
perl - Perl ハッシュオブハッシュで第 2 レベルのキーを取得するにはどうすればよいですか?
ハッシュ内の特定のキーのすべての値を取得する必要があります。ハッシュは次のようになります。
たとえばKey4
、Key5
の値が必要なだけです。Key6
残りは重要なポイントではありません。どうすれば値を取得できますか?
更新:だから私は持っていないので、%bean
次のように値を追加するだけです$bean
:
お役に立てれば。
arrays - ハッシュ内の配列で Perl ハッシュを参照するにはどうすればよいですか?
これは私が取り組んでいるコードスニペットです:
私が期待しているのは次のとおりです。
サイズ = 1600x1200、位置 = -25
サイズ = 1280x1024、位置 = 25
サイズ = 800x600、位置 = 0
私が得るものは次のとおりです。
C:\Test.pl 行 23 の連結 (.) または文字列で、初期化されていない値 $size が使用されています。
C:\Test.pl 行 23 の連結 (.) または文字列で、初期化されていない値の $position が使用されています。
サイズ = 、位置 =
$size と $position の値がないだけでなく、ループを 3 回ではなく 1 回しか通過していないため、foreach ステートメントは明らかに間違っています。変数プレフィックスのあらゆる種類のバリアントを試しましたが、機能するものはありませんでした。
私は何を間違っていますか?
perl - Perlで(ハッシュの)ハッシュを反復処理する方法は?
キーの値が他のハッシュであるハッシュがあります。
例:{'key' => {'key2' => {'key3' => 'value'}}}
この構造をどのように繰り返すことができますか?
perl - Perl ハッシュを使用してインベントリを保存するにはどうすればよいですか?
大学での課題のために、e ストアの在庫を管理できるスクリプトを Perl で作成する必要があります。(与えられた例はAmazonでした)。ユーザーは完全にテキストベースの環境で注文を行うことができ、注文が完了すると在庫を更新する必要があります。
インベントリ内のすべてのアイテムには、3 ~ 4 つの属性があります。製品コード、タイトル、価格、および一部の金額 (たとえば、MP3 にはこの属性がありません)。
これが Perl との初めての出会いなので、どうやって始めればよいのかよくわかりません。私の主な問題は、プログラムでインベントリをどのように「実装」するかです。プログラムの機能の 1 つは、タイトルを検索することです。もう 1 つは、ユーザーが製品コードを指定して注文する方法です。
私の最初のアイデアは、プロダクトコードをキーとするハッシュでした。しかし、これが原因で問題になる可能性のあるタイトルを検索したい場合: ハッシュキーは DVD-123 のようなものになり、そのキーに属する情報は "The Green Mask 12" (引用符なし) で、12 が示す場合この DVD の現在の在庫数。したがって、最終的に 12 を無視する方法を見つける必要があります。
別の解決策は、タイトルをキーとして使用することでしたが、それも面倒だと思います。
2 つのキーを持つハッシュ テーブルを作成する方法はありますか?1 つだけを指定すると、他の値を持つ配列が返されますか? (他のキーと他の情報を含む)そうすれば、インベントリから必要な情報に応じて別のキーを使用できます。
次のようなテキスト ファイルからデフォルトのインベントリを読み取る必要があります。
arrays - ハッシュの配列のPerl配列をソートするにはどうすればよいですか?
出力は次のとおりです。
しかし、私はそれを期待しています
これのどこが間違っているのか教えてください。
また、出力を次のように取得するように値を並べ替えるにはどうすればよいですか
perl - 別のハッシュのキー/値に基づいて [サブ] ハッシュを削除するにはどうすればよいですか?
2 つのハッシュがあるとします。そのうちの 1 つには、他のハッシュに現れるものを保持するだけでよいデータのセットが含まれています。
例えば
私がしたいのは、できればモジュールなしで、hash2{major} のキー/値として存在しない場合、hash1 のサブハッシュ全体を削除することです。「innerX」に含まれる情報は重要ではなく、単にそのままにしておかなければなりません (サブハッシュを削除しない限り、それは消える可能性があります)。
上記の例では、この操作が実行された後、hash1 は次のようになります。
hash1{test1} と hash1{test3} は、hash2 と一致しないため削除します。
これが私が現在試したことですが、うまくいきません。また、ハッシュを削除しようとしているときにハッシュをループしているため、おそらく最も安全なことではありません。しかし、私は大丈夫なはずのそれぞれで削除していますか?
これは私の試みでしたが、perl は次のように不平を言っています。
"strict refs" が使用されている間は、文字列 ("inner1") を HASH ref として使用できません