OptionValue

OptionValue[name]

OptionsPatternでマッチしたオプションの name の値を与える.

OptionValue[f,name]

頭部 f に関連付けられたオプションの name の値を与える.

OptionValue[f,opts,name]

規則 opts の明示的なリストからオプション値を抽出する.

OptionValue[,{name1,name2,}]

複数のオプション値を取り出す.

詳細

  • OptionValue[name]OptionValue[f,name]と等価である.ただし,fOptionValue[name]が現れる変換規則の左辺の頭部である.
  • OptionValue[f,name]OptionValue[name]は,f の引数として現れる最初のOptionsPatternオブジェクトからの値を使う.
  • OptionValue[f,opts,name]では,明示的なリスト optsf からのデフォルトのみが考慮される.
  • OptionValue[f,opts,name]f は,シンボル,規則,あるいはデフォルト値を指定するシンボルと規則のリストでよい.f 中の各シンボル sOptions[s]に等しい.同じオプション名が複数回指定された場合は,最初の指定がデフォルトを決定する.
  • OptionValue[f,opts,name,Hold]は,Holdで囲まれたオプション値を返す.
  • OptionValue[Automatic,Automatic,name,Hold]は,オプション値がHoldで囲まれて返される点を除いてOptionValue[name]と等価である.
  • OptionValueは,オプション名を比較するときはコンテキストを無視し,シンボル s と文字列SymbolName[s]を互換的に扱う.

例題

すべて開くすべて閉じる

  (1)

関数fのデフォルトのオプション値を定義する:

オプションを与えてfを定義する:

fを明示的なオプション設定で使用する:

オプションがデフォルト値であるとしてf を使う:

スコープ  (4)

複数のオプション値を一度に取り出す:

明示的なオプションのリストを使う:

複数のOptionsPattern構造を使って変換規則を定義する:

OptionValue[a]は外側の頭部なのでOptionValue[f,a]として扱われる:

OptionValueは特定のオプションが指定された箇所を探知する:

第4引数でHoldを使い,RuleDelayedを使ってオプションの未評価の形を返す:

Holdがないと,$Assumptionsの現行値が返される:

アプリケーション  (2)

関数 f のデフォルトオプションの値を定義する:

ヘルパー関数 fCore を使って f を実装しても,f のデフォルトの形が継承される:

f のデフォルトのオプション値が守られる:

明示的なオプション設定が優先される:

2つの関数をオプション付きで定義する:

両方のオプション集合を使用する関数 h を,g にデフォルトの優先順位を与えて定義する:

特性と関係  (4)

オプション名を比較する際は,コンテキストは無視される:

文字列と記号は互換的に扱われる:

OptionValueは要求された全オプションがデフォルトで現れるかどうかをチェックする:

単純な例では,OptionValue[f,opts,name]name/.opts/.Options[f]に類似している:

しかし,OptionValueは追加的な正規化を行って確実に規則が正しく適用されるようにする:

考えられる問題  (1)

OptionsPatternが別の関数内だけに現れるところで変換規則を定義する:

OptionsPatternf の引数ではないのでOptionValue[a]は使えない:

Wolfram Research (2007), OptionValue, Wolfram言語関数, https://reference.wolfram.com/language/ref/OptionValue.html.

テキスト

Wolfram Research (2007), OptionValue, Wolfram言語関数, https://reference.wolfram.com/language/ref/OptionValue.html.

CMS

Wolfram Language. 2007. "OptionValue." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/OptionValue.html.

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_optionvalue, organization={Wolfram Research}, title={OptionValue}, year={2007}, url={https://reference.wolfram.com/language/ref/OptionValue.html}, note=[Accessed: 23-November-2024 ]}