- 382 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 20:54:14.09 .net]
- なぜエラーになるかといえば、タプルにdropはないからです
リストは『全て同じ型』の要素の片方向リストです。要素数は可変です。C++のforward_listをイメージしてください タプルは『それぞれ好きな型の組み合わせ』であり、リストではありません。要素数は固定です 両者は本質的に内部実装が異なります。リストは要素と、次に辿る先の情報を組にしたデータ構造、一方でタプルはその数だけデータを納めるのみのデータ構造です 抽象的には、リストは2要素のタプルであり、一項目に要素、二項目は(再帰的に)リストを保有します。 こうすることで、二項目を見れば(リストなので)『要素と、二項目にまたリスト』が格納されています そのリストの二項目を見れば・・・となって単方向リストが実装できている事が理解できます タプル(,)は二項関数であるとみなせます。コンマの左側と右側に一つずつ何かを取って入れる関数です。 リストでは実際は『:』という二項関数が二項タプルと同じ役目を果たします。つまり 要素 : リスト のように書き (要素, リスト) と抽象的に同じであると気づくことができます。
|

|