Splice
例題
すべて開く すべて閉じる例 (3)
{a, b, c, Splice[{1, 2, 3}], d, e}head[a, b, c, Splice[{1, 2, 3}], d, e]{1, 2, Splice[{{3, 4}, {5, 6}}], 7, 8}head[a, b, c, Splice[{1, 2, 3}, head], d, e]スコープ (3)
{1, 2, 3, Splice[{a, b}], 4, 5}f[1, 2, 3, Splice[{a, b}], 4, 5]f[1, 2, 3, Splice[{a, b}, f], 4, 5]g[1, 2, 3, Splice[{a, b}], 4, 5]要素リストを頭部が指定されたパターンにマッチする式に接合する:
f[1, 2, 3, Splice[{x, y}, f | g], 4, 5]f[a][1, 2, 3, Splice[{x, y}, _f], 4, 5]アプリケーション (1)
特性と関係 (5)
Splice[{e1,e2,…}]は,リストの中ではSequence[e1,e2,…]のように動作する:
{a, b, c, Splice[{1, 2, 3}], d, e}{a, b, c, Sequence[1, 2, 3], d, e}Sequenceオブジェクトは他の頭部の中でも接合するが,1引数のSpliceオブジェクトはそうではない:
head[a, b, c, Sequence[1, 2, 3], d, e]head[a, b, c, Splice[{1, 2, 3}], d, e]Splice[{e1,e2,…},_]は評価時にSequence[e1,e2,…]はのように動作する:
f[a, b, c, Splice[{1, 2, 3}, _], d, e]f[a, b, c, Sequence[1, 2, 3], d, e]{a, b, Splice[{}], c, d}{a, b, Nothing, c, d}FlattenAt[list,pos]はMapAt[Splice,list,pos]に等しい:
FlattenAt[{a, {b, {c}}, d}, 2]MapAt[Splice, {a, {b, {c}}, d}, 2]Spliceは,属性HoldAll,HoldFirst,HoldRestを持つ関数内で解決されることがある:
Attributes[Hold]Hold[Splice[{a, b}, Hold]]しかし,属性HoldAllCompleteは上向きの値をブロックするのでこの属性がある関数内では解決されない:
Attributes[HoldComplete]HoldComplete[Splice[{a, b}, HoldComplete]]Spliceはホールドされた式深くにネストされている場合にも解決されない:
Hold[{Splice[{a, b}]}]考えられる問題 (1)
Spliceの動作はSequenceとは異なり,Unevaluatedを使ってもブロックできない:
Length[Unevaluated[Splice[{a, b}, _]]]Length[Unevaluated[Sequence[a, b]]]必要な場合はBlockを使ってSpliceを一時的に非アクティブにする:
Block[{Splice}, Length[Splice[{a, b}, _]]]関連するガイド
-
▪
- リストの並べ替えと再構築 ▪
- リスト操作
テキスト
Wolfram Research (2020), Splice, Wolfram言語関数, https://reference.wolfram.com/language/ref/Splice.html (2022年に更新).
CMS
Wolfram Language. 2020. "Splice." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/Splice.html.
APA
Wolfram Language. (2020). Splice. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Splice.html
BibTeX
@misc{reference.wolfram_2026_splice, author="Wolfram Research", title="{Splice}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/Splice.html}", note=[Accessed: 20-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_splice, organization={Wolfram Research}, title={Splice}, year={2022}, url={https://reference.wolfram.com/language/ref/Splice.html}, note=[Accessed: 20-July-2026]}