6

Perl にはデフォルトで構造体の概念がありません。Struct クラスをインポートする必要があります。どうしてこうなの?と思いました。言語によって提供される基本的なデータ構造のどの組み合わせがこれを補うと考えられていますか?

4

4 に答える 4

13

ハッシュは、C で構造体が行うのとほぼ同じことを Perl で行います (使用目的に関して)。ハッシュをネストして、より複雑なデータ構造を構築することもできます。

于 2012-06-25T08:38:05.817 に答える
4

構造体を含む既存の C ヘッダー ファイルがある場合は、Convert::Binary::Cを使用して、それらに基づくデータ構造にアクセスします。

于 2012-06-25T09:50:04.017 に答える
2

Class::Struct は、私にとって C 構造体の役割に決して適合しません。私の考えでは、C 構造体はデータを編成する既知のメモリ構造ですが、構造体に書き込むだけで固定長の入力レコードをフィールドに自動解析することが常に最善の用途でした。

unpack で同様のことができます。C では必要のない別の解析呼び出しが必要ですが、それをレコードの読み取りに組み込むと、かなり効率的です。

于 2013-05-14T01:16:44.400 に答える
0

このモジュールを構造体の代替として試すことができます - Class::Struct

于 2012-06-25T08:38:52.307 に答える