Slot

#

純関数に与えられる第1引数を表す.

#n

n 引数を表す.

#name

第1引数の連想中のキー "name" に関連付けられた値を表す.

詳細

  • #は,body&Function[body]の形式の純関数の引数や形式的なパラメータを表すのに使用される.
  • #Slot[1]と同値である.
  • #n は,Slot[n]と同値である.n は負ではない整数でなければならない.
  • #0は,例えば,純関数自体の関数の頭部を与える.
  • 連想に適用されたとき,#name#["name"]と等価で,連想中の要素を取り出す.
  • #name の形では,name 中の文字は,数字では始まらない英数字の任意の組合せでよい.

予備知識

  • Slot[1]は,純関数に与えられた第1引数を表す.式Slot[1]は,ハッシュ文字#と一緒に短く表示されることもある.つまり#1として表示されることもある.純関数の 番目の引数は,Slot[n]で表され,#n と書かれることも多い.純関数のゼロ番目のスロット#0は,その頭部である.
  • Slotは通常Function内部で使われる.形式(body &)の純関数では,#は,引数あるいは形式的なパラメータを表すためにボディの一部として使われる.Slotを適用する例として,f[#3,#2,#1]&[x,y,z]が挙げられるが,これは評価されるとf[z,y,x]になる.
  • 純関数に与えられる引数の列は,SlotSequence(短縮形では##n と書かれる)を使って表される.
  • 純関数がネストされた場合には,スロットの意味が曖昧になることがある.その場合,名前付きのパラメータを持つ明示的なFunction構文を使って,パラメータを指定しなければならない.

例題

すべて開くすべて閉じる

  (3)

#は,純関数の第1引数を表す:

番号の付いた引数を使う:

連想から名前付きの引数を使う:

スコープ  (5)

#は#1の短縮形,第1引数である:

#name は,事実上,#["name"]の短縮形である:

#nameSlot["name"]として解釈される:

#name初音に第1引数中の連想に言及する:

第1以外の連想スロットから抽出する:

一般化と拡張  (1)

#0は純関数全体を表す:

アプリケーション  (1)

引数が5つの純関数をプログラム的に作る:

特性と関係  (3)

#を使って,名前を与えずに関数の引数を参照することができる:

追加的な引数は無視される:

##は全引数の列を表す:

考えられる問題  (3)

明示的な名前を使ってネストした純関数を設定する:

内側の関数に#を使う:

外側の関数に#を使う:

ネストした#表記を使うと動作が変わる:

引数の数が少なすぎるとメッセージが生成される:

#と続くトークンの間のスペースは乗算として解釈される:

おもしろい例題  (1)

#0を使った因子分解の反復的定義:

Wolfram Research (1988), Slot, Wolfram言語関数, https://reference.wolfram.com/language/ref/Slot.html (2014年に更新).

テキスト

Wolfram Research (1988), Slot, Wolfram言語関数, https://reference.wolfram.com/language/ref/Slot.html (2014年に更新).

CMS

Wolfram Language. 1988. "Slot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/Slot.html.

APA

Wolfram Language. (1988). Slot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Slot.html

BibTeX

@misc{reference.wolfram_2024_slot, author="Wolfram Research", title="{Slot}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Slot.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_slot, organization={Wolfram Research}, title={Slot}, year={2014}, url={https://reference.wolfram.com/language/ref/Slot.html}, note=[Accessed: 21-November-2024 ]}