問題タブ [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 ハッシュのベスト プラクティスは何ですか?
これを解決するためのベストプラクティスは何ですか?
1つの要素を格納するための悪い習慣は配列ですか、それともハッシュの二重引用符ですか?
perl - マルチレベルのPerlハッシュに値を格納するにはどうすればよいですか?
私はこのようなことをしたいと思っています。このようにプログラミングすると、値が消えるという問題があったことを覚えています。このタイプの構造はハッシュに対して「正しい/有効」ですか?
perl - Perlで配列の配列を逆参照するにはどうすればよいですか?
関数に渡されたときに配列の配列を逆参照するにはどうすればよいですか?
私はこのようにやっています:
実際には、配列に、、、およびの@c
アドレスを含める必要があります。@array1
@array2
@array3
perl - スクリプトで事前に解析されたプロトコル定義を使用し、最新の状態に保つ
私の仕事では、バイナリ プロトコルのログ ファイルを処理しなければならないことがあります (ログ ファイルには、メッセージの 16 進ダンプが含まれています)。バイナリ データを解釈して、より使いやすい形式で内容を出力できる Perl スクリプトを作成したいと考えています。
独自の形式でプロトコルメッセージの(機械可読)説明があり、その形式を解析する方法を(ほとんど)理解しました(完全に理解できない部分は私の目標とは関係がないため、無視できますそれら)、スクリプトで使用するために、説明をデータ構造に変換できます。
プロトコルの説明はめったに変更されないため、ログファイルを分析するたびにプロトコルの説明を再解析するのは無駄に思えます。説明の再解析をスクリプトで自動的にトリガーしたいと考えています。
これを実現する最善の方法は何ですか?
perl - Perl での内部ハッシュのマージ
私は 3 次元ハッシュと 2 次元ハッシュを持っており、2 次元ハッシュを 3 次元ハッシュの内部ハッシュの 1 つとマージしたいと考えています。これは、2 次元ハッシュのペアをマージするために行うことと似ています。 :
しかし、私がそれを試みたとき、それはうまくいきませんでした。私は何をすべきですか?
perl - Perlで二重矢印(=>)演算子はどのように機能しますか?
このよう=>
に、演算子のハッシュの使用について知っています
ハッシュを初期化するのは単なる構文だと思っていましたが、How can I qualify a variable as const/final in Perl?への回答で 、=>
このように使用されています
とは=>
どういう意味ですか? =>
他に使用できる方法はありますか?
perl - 配列内の特定の場所で開始および停止するための perl スクリプトの編集ヘルプ
トラブルシューティングと編集のヘルプを探しています。これは宿題です。私の教授はフォーラムの使用を奨励しています。私はまだ Perl 関数や Subs の経験がないので、理解できるように回答を適切なレベルに制限してください。
スクリプトの目的は、DNA の文字列 (または後で追加するコマンド ラインからのファイル) を読み取り、それを RNA に変換してから、タンパク質の値を大文字の 1 文字のアミノ酸名の形式で返すことです。
スクリプトの機能:
最初の文字から 3 文字の「コドン」を取得し、それらに 1 文字のシンボル (ハッシュ テーブルからの大文字の 1 文字のアミノ酸名) を付けます。
AUG (「M」) で始まり、UAG、UAA、または UGA で終わる文字列である RNA タンパク質を出力します。
ギャップが発生した場合、新しい行が開始され、プロセスが繰り返されます。ギャップは 3 の倍数であると想定できます。
私が知る限りの主な問題:
ハッシュ テーブルを介してデータをループさせる場所がわかりません。Foreach ブロックの前後に配置してみました。また、Foreach ブロックを完全に取り除き、While & If を試しました。
Foreach ブロックは @all_codons 配列のすべてを処理しておらず、AUG でのみ停止しているようです。
明らかで最大の問題は、何も返さないことです。どこかで $next_codon 値に「false」が割り当てられています。各行を少しずつコメントアウトしようとしました-何かを返した最後の行は My $start で、そこからはすべてfalseです。
スクリプト:
arrays - Perl: ハッシュ内の配列のサイズ、別のハッシュ内
つまり、ハッシュ %HoHoA があります。各最上位ハッシュ キーには、値として第 2 レベルのハッシュ キーがあります。各第 2 レベルのハッシュには、配列の配列が値として含まれています。
perl のデバッガーでは、次のようになります。
各スイートの 2 つの配列のサイズを取得しようとしています。上記の例では、Second_Key_2 に 2 つの配列があり、0 番目の配列はサイズ 3 です。
と
次のようなエラー メッセージが表示されます: Can't use string ("string 3") as an ARRAY ref while "strict refs" in use
このエラー メッセージが表示されるのはなぜですか? また、代わりに何をすべきですか?
arrays - Perl別のハッシュの値である配列の要素であるハッシュにアクセスする方法は?
値として配列を持つハッシュを作成しようとしています。
値 (配列) の最初の要素はスカラーです。値の 2 番目の要素 (配列) は別のハッシュです。
次のように、このハッシュのキーと値に値を入れました。
ここ、
私の主なハッシュ -> senseInformationHash
私の値 -> 配列です
それで、${$senseInformationHash{$sense}[1]}
私のハッシュへの参照を教えてください
次のようにキーと値を入力します。
これが正しい方法かどうかはわかりません。私は立ち往生していて、この複雑なものをどのように印刷できるかわからないので. 正しく実行できているかどうかを確認するために、印刷したいと思います。
どんな助けでも大歓迎です。前もって感謝します!
arrays - Perl:ハッシュ内の配列内のハッシュ
配列を1つの値として持つハッシュを作成しようとしています。この配列にはハッシュが含まれます。残念ながら、私はそれを間違ってコーディングしました、そしてそれは疑似ハッシュとして解釈されています。助けてください!