Interpreter
インタープリタタイプのリスト »Interpreter[form]
入力を指定形式のオブジェクトとして解釈するために適用可能な,インタープリタオブジェクトを表す.
Interpreter[form,test]
test をオブジェクトに適用した結果Trueが返された場合にのみ,そのオブジェクトの解釈されたものを返す.その他の場合はFailureオブジェクトを返す.
Interpreter[form,test,fail]
検定が成功しなかった場合に,関数 fail を適用した結果を返す.
詳細とオプション
- Interpreter[…][input]は,特定の入力(文字列であることが多い)にインタープリタを適用する.
- form の可能な指定値
-
"Expression" Wolfram言語による任意の式 "HeldExpression" ホールドのまま返される式 "InactiveExpression" 非アクティブにされて返される式 "SemanticExpression" 自由形式入力から意味的に導かれた式 "Number" 標準形式による任意の数 "SemanticNumber" 意味的に導かれた数(例:"half") "ComputedNumber" 計算によって導かれた数(例:"2+2") "Integer" 整数 "SemanticInteger" 意味的に導かれた整数(例:"six") "ComplexNumber" 実数あるいは複素数 "MathExpression" 数式(例:"sin(2x)+1") "MathFormula" 数学公式 (例:"2x+3y=0") "HeldMathFormula" ホールドのまま返される数式 "HexInteger" 16進数による整数 "RomanNumeral" ローマ数字 "Boolean" ブール値(True/Falseを与えられた場合に,true/false,1/0等) "String" 純粋な文字列 "TextArea" 任意長のテキスト(テキストアリアとして描画される) "TextLine" 1行のテキスト "URLString" URL符号化された文字列 "URL" 正しくフォーマットされたURL "URLQueryString" URLのクエリ文字列 "SemanticURL" 意味的に導かれたURL(例:会社名から) "IPAddress" 正しくフォーマットされたIPアドレス "FileName" ユーザのコンピュータ上のファイル名 "UploadedFile" クラウドにアップロードするファイル "CachedFile" 一時ディレクトリにキャッシュするファイル "EmailAddress" 正しくフォーマットされた電子メールのアドレス "PhoneNumber" 正しくフォーマットされた電話番号 "Date" 任意の標準形式による日付 "StructuredDate" ピッカーによって得られた日付 "DateTime" 日付と時刻 "Time" 1日の中の時刻 "ComputedDate"等 計算によって導かれた日付(例:"next tuesday") "Location" 測地位置を返すものすべて "GeoCoordinates" 経緯度で指定された測地位置 "StreetAddress" 任意の標準的な所在地住所 "Country" 国または国に準じる領土 "AdministrativeDivision" 州,都道府県,郡等 "USState" アメリカ合衆国の州 "USCounty" アメリカ合衆国の郡 "Quantity" 単位の付いた数量 "ComputedQuantity" 計算によって導かれた数量 "StructuredQuantity" 数に単位が続く形で与えられた数量 "PhysicalQuantity" 物理量("mass") "CurrencyAmount" 貨幣額(例:"$7.50") "CurrencyName" 貨幣の名称(例:"US dollars") "Company" 企業 "TickerSymbol" 金融商品のティッカーシンボル "Image" 画像 "Color" 任意の標準形式による色 "StructuredColor" ピッカーから得た色 "Sound" サウンド "Graphics" ベクトルグラフィックス "entity" 任意のWolfram言語実体タイプ(例:"City") "entityclass" 実体クラス(例:"CityClass") "format" 任意の標準的Wolfram言語インポート形式 Restricted[form,spec] 特定の方法に制限されたフォーム DelimitedSequence[form,…] リストとして返される,一連の区切り文字入りフォーム form1form2… 順番に試みられた,複数の考えられるフォーム {c1,c2,…} 選択肢 ciの文字集合 {lab1c1,lab2c2,…} ラベル labiの付いた値 ci AnySubset[{c1,c2,…}] ciの任意の部分集合 CompoundElement[{form1,…}] formiで指定された要素のリスト CompoundElement[<key1form1,… >] formiで指定された要素の連想 RepeatingElement[form,…] form で指定された全要素のリスト CloudObject[…] 配備されたGrammarRules QuantityVariable["pq"] 物理量の pq の互換数量 - $InterpreterTypesは,使用可能なインタープリタタイプの完全リストを与える.
- Interpreter[…][input]は,解釈された値,Missing["NoInput"](input が事実上空白の場合),Failure[…]のいずれかを返す.
- "entity"の場合は,EntityValueがサポートする任意の領域を使うことができる.
- Interpreter[form,test][input]は,事実上,ImportString["input","format"]と等価である.
- Interpreter[choices]は,choices についての規則のリストあるいは連想を許容する.曖昧さがない場合は,純粋な値のリストもまた使用できる.
- Interpreter[form,test]["input"]は,指定された form を使って input を解釈した結果に test を適用する.
- test を適用した結果がTrueの場合は,input を解釈した結果が返される.
- test を適用した結果がFailureオブジェクトの場合は,そのオブジェクトが即座に返される.
- test を適用した結果がFalseあるいは上記以外の何かである場合は,Interpreter[form,test,fail][input]中で,input の解釈に fail を適用した結果が返される.fail が与えられない場合は,Failureオブジェクトが返される.
- InterpreterがFailureオブジェクトを直接生成した場合には,次のタグが使われる.
-
"InterpretationFailure" 与えられた文字列が指定された形式では解釈できなかった "RestrictionFailure" 解釈は成功したが,制限に失敗した "ConditionFailure" 解釈および制限に成功したが,明示的な検定に失敗した "ConnectionFailure" 必要なクラウドへの接続ができなかった - Interpreterがサポートするオプション
-
AmbiguityFunction Automatic 意味的に曖昧な結果に適用する関数 DateFormat $DateStringFormat 日付に仮定するデフォルトの形式 DigitBlock Infinity ブレークとブレークの間に仮定する桁数 GeoLocation $GeoLocation 意味解釈のために仮定する測地位置情報 ImportOptions {} データのインポート時に使用するオプション NumberPoint "." 小数点について仮定する文字列 NumberSeparator {",", " "} 数のブロック間のブレークに仮定する文字列 NumberSigns {"-",""} 正の数と負の数の符号に仮定する文字列 TimeZone $TimeZone 意味解釈のために仮定する時刻帯 - Interpreter[spec][{input1,input2,…}]は,spec がCompoundElementあるいはRepeatingElementのような,与えられた構造を直接解釈する構造を含んでいる場合を除いて,{Interpreter[spec][input1],Interpreter[spec][input2],…}と等価である.
- Interpreter[form]["string1" "string2"…]は,結果として,指定された形式を使って解釈できる stringiの最初の解釈を返す.
- Interpreter[form][CloudObject[…]],Interpreter[form][File[…]],Interpreter[form][URL[…]]は,一般に,指定されたフォームに従って,クラウドオブジェクト,ファイル,あるいはURLのコンテンツを解釈した結果を返す.
- Interpreter[form][expr]は,この他の式については,expr が form についての指定に従っている場合は expr を返し,それ以外の場合はFailure[…]を返す.
例題
すべて開くすべて閉じる例 (8)
与えられた入力が指定のタイプではない場合に,失敗をフラグで表示する:
日付を解釈し,DateObjectを生成する:
都市を解釈し,Entityオブジェクトを生成する:
場所を解釈し,GeoPositionを返す:
Fileオブジェクトを解釈する:
URLオブジェクトを解釈する:
オプション (9)
GeoLocation (1)
デフォルトで,ユーザの$GeoLocation が使われる:
特性と関係 (4)
Interpreter指定を使って,FormObject,FormFunction,APIFunctionが作られる:
頭部Interpreterは選択的である.しかし,オプションを指定することが役に立つことがある:
RepeatingElementおよびCompoundElementを使って複雑な構造を解釈する:
Alternativesを使って違う形のデータを解釈することもできる:
考えられる問題 (3)
AmbiguityFunctionがAutomaticではないものに設定されると,第2引数の test が結果に適用され,失敗に繋がることがある:
Interpreter["String"]は空文字列を取る.これは,FormFunctionには当て嵌まらない.この場合は空の文字列と空のフィールドが等しいとみなされる:
おもしろい例題 (1)
ホワイトハウスのGeoPositionを得る:
テキスト
Wolfram Research (2014), Interpreter, Wolfram言語関数, https://reference.wolfram.com/language/ref/Interpreter.html (2016年に更新).
CMS
Wolfram Language. 2014. "Interpreter." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016. https://reference.wolfram.com/language/ref/Interpreter.html.
APA
Wolfram Language. (2014). Interpreter. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Interpreter.html