関数型プログラミング言語Haskell Part5
■ このスレッドは過去ログ倉庫に格納されています
0529デフォルトの名無しさん
2006/07/20(木) 10:07:46タプルは、LISPの多値に対応するものだと思うのですが、ある関数の戻り値が
タプルの場合、それを受け取れる関数は、引数がタプルである必要があります
(よね?)。多引数の関数に汎用的に与えることはできません。2つ組みのタ
プルの場合だけは、curryとuncurryがありますが。
ということで、多値の代用としてのタプルの使い方の定石のようなものがあっ
たら、教えていただきたいのです。
ちなみにPythonにもタプルがありますが、こちらは、関数に複数の引数を与え
る代わりに、タプルを与えることができます。* という演算子があって、
a = (1, 2, 3)
(lambda x y z: x + y + z)(*a) => 6
という書き方ができます。
再代入のできる手続き型言語とは、だいぶ事情は違うのでしょうが。
■ このスレッドは過去ログ倉庫に格納されています