問題タブ [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: ハッシュマップに関する基本的な質問
私は perl の初心者で、この表現について助けが必要です。この表現はどういう意味ですか? 新しいキーと値のペアが作成されると思いますが、ここでの 1 の意味は何ですか?
perl - Perlコレクションを反復処理し、新しい値を計算します
次の行を含むPerlスクリプトがあります。
プログラムの他の場所に編集される@irqs
ある種のコレクション(私はPerlプログラマーではありません)はどこにありますか。push
ハッシュである別のコレクションがあります。ここで、キーはコレクションの値$_->{label}
または$_->{irq}
コレクションからの値と同じ@irqs
です。
上記のステートメントで出力する代わりに、ハッシュからの値がどこにある$_->{count}
かを出力したいと思います。$_->{count} - X
X
@irqs
手作業で繰り返し、計算された値を使用して新しいコレクションにプッシュすることでこれを実行できると確信していますが、より良い方法はあります$_->{label}
か$_->{irq}
?
私が言ったように、私はPerlプログラマーではないので、始める前に正しい道を進んでいることを確認したかっただけです...
arrays - 「ハッシュの配列」のすべての要素を配列として関数に渡すにはどうすればよいですか
「ハッシュの配列」の要素を配列として関数に渡すにはどうすればよいですか?
たとえば、すべて$link->{text}
を配列としてsort()
関数に渡したいとします。
perl - Perl でレコードを配列にプルする方法
パールでは、
テーブルがあり、RANGE1、RANGE2、および 6 前後のレコードなどのフィールドがあります。
これらの 6 つのレコードを次のように配列に取り込みたい
レコードを配列にプルする方法、
perl - Perlで動的/再帰的にハッシュを構築していますか?
私はPerlを初めて使用し、ハッシュを再帰的に構築しようとしていますが、どこにも行きません。ハッシュを動的に構築するためのチュートリアルを検索してみましたが、ハッシュに関する紹介記事しか見つかりませんでした。正しい方向に私を向けたり、素敵な記事/チュートリアルを提案していただければ幸いです。
次の形式のパスを持つファイルから読み取ろうとしています
そして、私は次のようなハッシュを構築したい
現在使用しているスクリプトは次のとおりです。
arrays - Perl でのハッシュおよび配列参照の削除と追加
前の質問の続きで、別の問題に遭遇しました。ハッシュ内にハッシュが存在するだけでなく、ハッシュ内に配列が存在する可能性があることに気付きました。したがって、パスは次のようになります
つまり、ハッシュには配列が含まれていると想定されており、常に[]
サフィックスとして a が付きます。私が使用しているスクリプト(以前の質問の回答を少し修正したバージョン)によると、上記のパスは次のようになります。
私が使用しているスクリプトは次のとおりです。
私がやりたいことは、 が見つかったら、それtwo[]
を削除して(存在する場合)two
の配列に追加し、キーの名前を に変更することです。two[]
two
two[]
two
したがって、最終結果は次のようになります。
そのため、サフィックスif else
の有無にかかわらずキーをチェックするためにチェックを追加しようとしましたが、などの範囲またはエラーが発生しました。[]
[$variable] is not a valid HASH reference
$ref->{$head} is array?
ありがとう。
perl - perlでアルファベット順にソートされたすべてのサブディレクトリ内のすべてのhtmlファイルのリストを取得する方法は?
現在、私はこれをやっています:
しかし、すべてのファイルをアルファベット順に処理したいのですが、最終的にはすべてのファイル名を配列に格納し、配列を並べ替えてから、for each ループを使用して処理コードをそこに配置したいのですが、どうすればよいか完全に行き詰まっています。やれ。
私はたくさんのグーグルを行ってきましたが、perl の他のすべてと同様に、すべてを実行する方法は何百もありますが、それらのどれも、私がやりたいことすべてを実行させてくれないようです。つまり、.html で終わるすべてのファイル、すべてのサブディレクトリです。特定のディレクトリ内にあり、ディレクトリ構造ではなく、ファイル名に基づいてアルファベット順にソートされています。
誰でも私を助けることができますか?私はこれがかなり簡単にできることを知っていますが、それを理解することはできません.
ありがとう :)
編集:私はこれをやってみました:
しかし、配列 @files を並べ替えると、文字列全体に基づいて並べ替えられます。ファイル名に基づいて並べ替えたいだけです。File::find:find でそれを行う方法はないと思います。すべてのファイルをトラバースするまで順序を知る方法がないため、後でソートを行う必要があります。
perl - Perlのハッシュにハッシュを含める
G'Day、
私は現在、多くの小さなハッシュから大きなハッシュを作成することに取り組んでいます。これらの小さなハッシュがそれぞれファイルで定義され、大きなハッシュに含めることができるとしましょう。
たとえば、いくつかの小さなハッシュを見てみましょう
ファイルpersoncontact.pl
:
ファイルaddress.pl
:
そして、私はこれらのかなりの数を持っています...
ハッシュを再作成しようとしている方法はinclude
、次のようなサブルーチンを使用することです。
私は何か間違ったことをしているに違いないことは知っていますが、何が起こっているのかわかりません。Useless use of a variable in void context at (eval 11) line 4, <SCHEMAFILE> line 6
またはのようなエラーが発生し続けOdd number of elements in anonymous hash at (eval 11) line 5, <SCHEMAFILE> line 6
ます。(eval 11)4-3行目、6行目を見つける方法がわかりません。Perlデバッガーの使用に関する提案や、私が間違っている可能性のある場所に関する指針をいただければ幸いです。
ありがとう!
perl - Perl の long データ型
整数ではなく長いデータ型を必要とするアプリを Perl で作成しています。どうすればこれを達成できますか。例えば;
出力は long ではなく整数です。
arrays - 配列のハッシュを拡張する方法は?
「展開」が正しい言葉かどうかはわかりませんが、これが私がやりたいことです=)
このスクリプト
出力
配列内のグループをメンバーに置き換えたいと思います。つまり、出力とに$HoA
なります
おそらく、「検索して置換」し、重複を削除することは、私がやりたいことのより良い説明になるでしょうか?