Documentation 6. より高度なトピック![]() |
![]() ![]() |
msp:evaluateタグの出力はWebのリクエストの一部として返されるページに挿入されます.このセクションではさまざまなタイプの出力のフォーマット方法について説明します.この問題はwebMathematica のページにMathematica コマンドを置く問題と関連があります.「付録」の「MSPTaglibの参照」の「<msp:evaluate>」により詳しい説明があります.
タグが計算した文字列ではない結果はすべて,必要なHTMLの拡張文字を伴った文字列にフォーマットされます.以下の例をご覧ください.
<msp:evaluate>
Range[5]
</msp:evaluate>
この種のフォーマットはフォーマットタイプがOutputFormのMSPFormatに等しいものです.詳細は「Mathematica 関数のリファレンス」のMSPFormatをご覧ください.
MSPFormatを用いるとさまざまなスタイルに出力をフォーマットすることができます.以下の例ではMSPFormatでTraditionalFormをフォーマットタイプに使っています.
<msp:evaluate>
MSPFormat[ Sqrt[ Sin[x]], TraditionalForm]
</msp:evaluate>
出力はHTML形式,MathML形式,あるいは画像形式にフォーマットして生成することができます.画像形式はタイプセットした式を表示する便利な方法です.詳細は「Mathematica 関数のリファレンス」のMSPFormatをご覧ください.
msp:evaluateタグの結果が文字列の場合はフォーマットされず,そのまま出力ページに加えられます.以下のようなHTMLを構築する際には,これは大変便利です.
<msp:evaluate>
StringJoin[ "<b>", ToString[ x], "</b>"]
</msp:evaluate>
文字列をHTMLの拡張文字を伴った形にフォーマットしたい場合は,その文字列をMSPFormatでラップしてください.
出力に絵が入るようにグラフィックスオブジェクトをフォーマットする便利な関数があります.下記の例ではプロットが示されます.
<msp:evaluate>
MSPShow[ Plot[Sin[x], {x, 0, 2Pi}]]
</msp:evaluate>
詳細は「 Mathematica 関数のリファレンス」の MSPShow をご覧ください.
msp:evaluateタグを使って評価はしても,結果のページには何も残したくないこともあるでしょう.そのような場合は以下のように計算の後ろにセミコロン(;)を加えてください.
<msp:evaluate>
Needs[ "MyPackage"];
</msp:evaluate>
セミコロンを加えることでMathematica のシンボルNullが返され,出力には何の痕跡も残らないようにフォーマットされます.
どんな計算でも,たとえフォーマット関数,グラフィックス関数,Print出力やMessage出力を返す関数のどれかを使っていても,出力は隠されます.次の例ではメッセージを出力する関数の後ろにセミコロンが付いているので,出力は何も見えません.
<msp:evaluate>
MSPGetMessages[];
</msp:evaluate>
ひとつのmsp:evaluateタグで複数の計算をしたい場合は,別々のステップをセミコロン(;)で区切ります.最後の計算の結果がフォーマットされて出力ページに表示されます.以下の例ではx+yという計算の数値結果が現れます.
<msp:evaluate>
x = Sin[5.6];
y = Sqrt[x];
x+y
</msp:evaluate>
最後の計算の結果も隠したければ「出力を隠す」にあるようにセミコロン(;)を使います.
![]() ![]() |