Wolfram ResearchPRODUCTSPURCHASEFOR USERSCOMPANYOUR SITES
4.1 ページ作成のヒント

ドキュメント4. ページの作成

 

4.1 ページ作成のヒント

このセクションには,ユーザがページを作成するときに役立つ項目をまとめてあります.各項目についてはこのユーザガイドの後半でより詳しく説明してあります.ここでは重要な項目をまとめ,簡単な説明を加えました.これらの項目の要点を押さえることで,サイトの開発がよりスムーズになるでしょう.

4.1.1 変数

webMathematica で作業をする際に理解しておかなければならない変数が2つあります.それは入力変数とページ変数です.

入力変数は,例えばHTMLフォームの入力フィールドから,HTTPのリクエストに付いてきます.入力変数には「$$」という接頭辞が付いているため,Mathematica のコードの中で識別できます.以下の例題ではsetting変数が入力フィールドで設定されます.これはMathematica のコードでは$$settingになります.

<input type="text" name="setting" />

<msp:evaluate>
   If[ MSPValueQ[ $$setting],
      ....
      ]
</msp:evaluate>

入力変数はユーザのサーバへの潜在的なセキュリティの危険を含んでいるので,Mathematica の入力に変換する際は常に特別の関数のMSPBlockMSPToExpressionを使ってください.特に,ToExpressionは入力変数には絶対に使わないでください.次はMSPBlockの使用例です.

<input type="text" name="fun" />

<msp:evaluate>
   MSPBlock[ {$$fun},
      Integrate[ $$fun, x]
      ]
</msp:evaluate>

ページ変数は中間の値を保存するMathematica の変数です.この変数はページ終了と同時にクリアされるのでページ変数と呼ばれます.以下の例題ではページ変数のtmpが,テキスト入力フィールド(これは$$exprという入力変数に保存されています)に入力した式を保存するのに使われています.安全な関数のMSPToExpressionを使って入力をMathematica の式に変換します.

<input type="text" name="expr" />

<msp:evaluate>
   tmp = Null;
   tmp = MSPToExpression[ $$expr] ;
</msp:evaluate>

<p>
<msp:evaluate>
   If[ tmp =!= Null,
      ....
      ]
</msp:evaluate>
</p>

ご自分の変数をページの終了後も保存したい場合は,これをセッション変数にするとよいでしょう.セッション変数および変数全般に関する詳細は「より高度なトピック」の「変数」に詳しく説明してあります.

4.1.2 ページのコード

webMathematica の目的はMathematica をWeb上の計算に使うことです.そのため,WebページにMathematica のコードを置くことが重要になります.これは<msp:evaluate>タグを使って次のようにします.

<msp:evaluate
   Integrate[ 1/(1-x^3), x]
</msp:evaluate>

Mathematica のコードはMathematica の標準的な方法で評価を行い,計算結果がWebのページに表示されます.MSPFormatを使って結果のフォーマットを変更することもできます.Mathematica におけるフォーマットについては「より高度なトピック」の「評価のフォーマット」でより詳しく説明してあります.次はMSPFormatの例です.積分がTraditionalFormにフォーマットされ,結果がGIF画像で表示されます.

<msp:evaluate
   MSPFormat[ Integrate[ 1/(1-x^3), x], TraditionalForm]
</msp:evaluate>

結果をWebで表示したくない場合は,セミコロン(;)を使って隠すことができます.次の例では変数xに割当てが行われていますが,出力は表示されません.

<msp:evaluate
   x = 109;
</msp:evaluate>

webMathematica のページでコードを使う上での最後のヒントは,複数の計算を1つの<msp:evaluate>タグ内でセミコロン(;)を使って区切る方法です.以下をご覧ください.

<msp:evaluate
   x = 109;
   y = 44.5;
   {x+y}
</msp:evaluate>

webMathematica のページでのコードの使い方については,「付録」の「MSP Taglibのリファレンス」で詳しく説明してあります.ここにはwebMathematica のタグについての詳しい説明があります.


Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information



 © 2009 Wolfram Research, Inc.  Terms of Use  Privacy Policy | [en] |
ニュースレターのご登録