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構文を使って,パラメータを指定しなければならない.
1988年に導入
(1.0)
| 2014年に修正
(10.0)