Haskellにおけるタプルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > Haskellにおけるタプルの意味・解説 

Haskellにおけるタプル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/24 18:54 UTC 版)

タプル」の記事における「Haskellにおけるタプル」の解説

ML系の関数型言語にほぼ共通して言えることとして、再帰的データ型であるリストとは異なりタプルそうでない点がある。また、リストの要素単一の型のみを許容するのに対しタプル要素は型を問わない。これもデータ構造再帰的か否かという点に由来するものである。また、要素へのアクセスパターンマッチングか、先頭要素とその次の要素程度までを求め関数しかない再帰的定義されていないため、再帰関数手繰ることも難しい(リストなら先頭残り分離することで容易に行える)。にもかかわらず多く関数型言語60前後要素まで許容されている。 Haskellでは、Python類似した方法利用できる部分もある。Pythonなどに影響与えた側なので当然といえば当然である。 x = ('A', 1)(a, b) = x -- a には 'A'、b には 1 が入る。パターンマッチの例 アクセス関数としては、第1要素取得するfstと、第2要素取得するsndがある。 x = ('A', 1)a = fst x -- a には 'A' が入るb = snd x -- b には 1 が入る Haskellでは、2要素タプルデータ構築子 (,) で定義される。3要素なら (,,) で、最大要素数は64であるため、これはカンマ63個並ぶことになる。以下はどちらも同じタプル生成される。 x = ('A', 1)y = (,) 'A' 1 もちろんセクション(演算子部分適用)も可能である。 x = (, 'A')f y = x -- y に1を与えたとすれば、fは (1, 'A') を返す セクションなどでは、要素数に応じた構築子を使わなければならない。たとえば要素数が3ならば f x y = (,,) x y 3-- これは以下と等価であるf x y = (x, y, 3) ユーティリティ関数としてcurryとuncurryが定義されている。いずれも2-tupleしか受け付けないcurry id 'A' 1 -- id ('A', 1) と等価で、curryは ('A', 1) を返すuncurry (+) (1,42) -- (+) 1 42等価で、これは 1 + 42 とも等価であるから、uncurryは43返す

※この「Haskellにおけるタプル」の解説は、「タプル」の解説の一部です。
「Haskellにおけるタプル」を含む「タプル」の記事については、「タプル」の概要を参照ください。

ウィキペディア小見出し辞書の「Haskellにおけるタプル」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Haskellにおけるタプル」の関連用語

1
6% |||||

Haskellにおけるタプルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Haskellにおけるタプルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのタプル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS