AnyOrder[p1,p2,…]
任意の順序で p1, p2, …にマッチする,要素列を表す文法規則のパターンオブジェクトである.
AnyOrder
AnyOrder[p1,p2,…]
任意の順序で p1, p2, …にマッチする,要素列を表す文法規則のパターンオブジェクトである.
詳細
- AnyOrderは,GrammarRulesオブジェクトおよびStringExpressionオブジェクトの中に現れる.
- AnyOrderは,FixedOrder,Alternatives,その他の文法規則パターンの内および外にネストすることができる.
例題
すべて開く すべて閉じる例 (2)
StringCases["abc123 456def", AnyOrder[LetterCharacter.., DigitCharacter..]]grammar = CloudDeploy[
GrammarRules[{
AnyOrder[
FixedOrder["from", from : GrammarToken["City"]],
FixedOrder["to", to : GrammarToken["Ocean"]]
] :> from -> to
}]
]GrammarApply[grammar, "to the Pacific from Boston"]アプリケーション (1)
中置記法,ポーランド記法,逆ポーランド記法をサポートする簡単な計算機を配備する:
calc = CloudDeploy[
GrammarRules[{GrammarToken["Math"]}, {
"Math" -> GrammarToken["Number"],
"Math" -> AnyOrder[a : GrammarToken["Math"], "+", b : GrammarToken["Math"]] :> a + b,
"Math" -> AnyOrder[a : GrammarToken["Math"], "-", b : GrammarToken["Math"]] :> a - b,
"Math" -> AnyOrder[a : GrammarToken["Math"], "*", b : GrammarToken["Math"]] :> a * b,
"Math" -> AnyOrder[a : GrammarToken["Math"], "/", b : GrammarToken["Math"]] :> a / b
}]
]GrammarApply[calc, "2+3"]GrammarApply[calc, "+ 2 3"]GrammarApply[calc, "2 3 +"]GrammarApply[calc, "2 3 + * 5"]この計算機は,さまざまな演算子に優先順位を付けるようにはプログラムされていない:
GrammarApply[calc, "2 + 3 * 5", AmbiguityFunction -> All]特性と関係 (1)
文法で,FixedOrderは特定の順序を必要とし,AnyOrderは任意の順序をサポートする:
grammar = CloudDeploy[
GrammarRules[{
a : FixedOrder["1", "2", "3", "4"] :> {"FixedOrder", a},
a : AnyOrder["1", "2", "3", "4"] :> {"AnyOrder", a}
}]
]次は,FixedOrderにおける順序にマッチする入力である:
GrammarApply[grammar, "1 2 3 4", AmbiguityFunction -> All]次の入力は,FixedOrderにおける順序にはマッチしない:
GrammarApply[grammar, "4 3 2 1", AmbiguityFunction -> All]関連するガイド
テキスト
Wolfram Research (2015), AnyOrder, Wolfram言語関数, https://reference.wolfram.com/language/ref/AnyOrder.html.
CMS
Wolfram Language. 2015. "AnyOrder." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/AnyOrder.html.
APA
Wolfram Language. (2015). AnyOrder. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AnyOrder.html
BibTeX
@misc{reference.wolfram_2026_anyorder, author="Wolfram Research", title="{AnyOrder}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/AnyOrder.html}", note=[Accessed: 10-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_anyorder, organization={Wolfram Research}, title={AnyOrder}, year={2015}, url={https://reference.wolfram.com/language/ref/AnyOrder.html}, note=[Accessed: 10-August-2026]}