Curry[f,n]
Curry[f,n][x1]…[xn]が f[x1,…,xn]と等しくなるような,引数が n 個の関数 f の演算子形を表す.
Curry[f]
Curry[f][y][x]が f[x,y]と等しくなるような,2引数の関数 f の演算子形を表す.
Curry[f,{i1,…,in}]
Curry[f,{i1,…,in}][x1]…[xn]が f[xi1,…,xin]と等しくなるような,引数が n 個の関数 f の演算子形を表す.
Curry[f,k{i1,…,in}]
k≥Max[{i1,…,in}]のとき,Curry[f,k{i1,…,in}][x1]…[xk]が f[xi1,…,xin]と等しくなるような,引数が n 個の関数 f の k 個の引数を持つ演算子形を表す.
Curry
Curry[f,n]
Curry[f,n][x1]…[xn]が f[x1,…,xn]と等しくなるような,引数が n 個の関数 f の演算子形を表す.
Curry[f]
Curry[f][y][x]が f[x,y]と等しくなるような,2引数の関数 f の演算子形を表す.
Curry[f,{i1,…,in}]
Curry[f,{i1,…,in}][x1]…[xn]が f[xi1,…,xin]と等しくなるような,引数が n 個の関数 f の演算子形を表す.
Curry[f,k{i1,…,in}]
k≥Max[{i1,…,in}]のとき,Curry[f,k{i1,…,in}][x1]…[xk]が f[xi1,…,xin]と等しくなるような,引数が n 個の関数 f の k 個の引数を持つ演算子形を表す.
詳細
- Curry[f]はCurry[f,{2,1}]に等しい.
- Curry[f,n]はCurry[f,{1,2,…,n}]に等しい.
- Curry[f,{i1,…,in}]はCurry[f,Max[{i1,…,in}]->{i1,…,in}]に等しい.
- Curry[f,{i1,…,in,opts}][x1]…[xk]は,オプションの列 opts について f[xi1,…,xin,opts]に等しい.
- Curry[f,{i1,…,in}]のカリー化された ip番目の引数は f の p
番目の引数である. - Curry[f,arity][x1,…][y1,…]…[z1,…]はCurry[f,arity][x1,…,y1,…,z1,…]に等しいので,角カッコの構造は関係なく,引数の数のみが関係する.
例題
すべて開く すべて閉じる例 (3)
Curry[f][x][y]Curry[f, 3][x][y][z]これは,2つの積分変数をカリー化してIntegrateをカリー化した形である:
Curry[Integrate, {3, 1, 2}][x][y]%[x Sin[y]]Integrate[x Sin[y], x, y]スコープ (6)
Dx = Curry[D][x]Dx[f[x]]Curry[Nest, 3][f][x][4]Curry[Nest, {3, 1, 2}][x][4][f]以下は,4つの引数を取るカリー化された演算子であるが,関数 f にはそのうちの2つしか渡されない:
Curry[f, {2, 4}][a][b][c][d]Curry[f, 4 -> {2, 3}][a][b][c][d]任意のブラケット構造がある,カリー化され演算子の引数を使う:
op = Curry[f, 3]op[a][b][c]op[a, b, c]op[a, b][c]op[][a][][][b, c]デフォルトのオプション値でLevelをカリー化する:
Sin[x[0] + 3]//Curry[Level][2]オプションをLevelに渡す:
Sin[x[0] + 3]//Curry[Level, {2, 1, Heads -> True}][2]Sin[x[0] + 3]//Curry[Level[##, Heads -> True]&][2]アプリケーション (5)
3つの関数のCompositionをカリー化する:
Curry[Composition, 3]%[f]%[g]%[h]Construct[%, x]Curry[Composition, 3][f, g, h, x, y]oppositeAlphabeticOrder = Curry[AlphabeticOrder];{Order["a", "b"], oppositeAlphabeticOrder["a", "b"]}{Order["a", "a"], oppositeAlphabeticOrder["a", "a"]}Array[Curry[Subscript, 4][x], {2, 3, 2}]k = Curry[Identity, 2 -> {1}];
s = Curry[Function[#1[#3][#2[#3]]], 3];s[k][k][x]s[k][s][x]b = s[k[s]][k];
c = s[s[k[s[k[s][k]]][s]][k[k]]];b[f][g][x]c[f][x][y]特性と関係 (6)
Curry[f][a][b]Curry[f, {2, 1}][a][b]Curry[f,0]は,引数がない関数については f[]を返す:
Curry[f, 0]たとえ追加的な引数が与えられても,中に何もない一対の角カッコが挿入される:
Curry[f, 0][a, b]Curry[Curry][3][f][a][b][c]Constructと比較する:
Construct[f, a, b, c]Curry[Construct,n][f]は,正の n についてはCurry[f,n-1]に等しい:
Curry[Construct, 3][f][a][b][c]Curry[f, 2][a][b][c]Curry[Construct, 1][f]Curry[f, 0]perm = {2, 4, 1, 3}
invperm = InversePermutation[perm]結果は,引数の順序を変えずにCurryを使った場合に等しい:
Curry[Curry[f, perm], invperm][a][b][c][d]Curry[f, 4][a][b][c][d]perm1 = {2, 4, 1, 3};
perm2 = {3, 2, 4, 1};Curry[Curry[f, perm1], perm2][a][b][c][d]Curry[f, PermutationProduct[perm1, perm2]][a, b, c, d]テキスト
Wolfram Research (2018), Curry, Wolfram言語関数, https://reference.wolfram.com/language/ref/Curry.html.
CMS
Wolfram Language. 2018. "Curry." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Curry.html.
APA
Wolfram Language. (2018). Curry. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Curry.html
BibTeX
@misc{reference.wolfram_2026_curry, author="Wolfram Research", title="{Curry}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/Curry.html}", note=[Accessed: 08-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_curry, organization={Wolfram Research}, title={Curry}, year={2018}, url={https://reference.wolfram.com/language/ref/Curry.html}, note=[Accessed: 08-September-2026]}