インタラクティブインターフェース
どのような式でも,Manipulateを使うと,変数の値を変更することのできるコントロールで操作することができます:
Javaプログラマー向けの注意事項
Manipulateコマンドは,パラメータの指定に基づいてコントロールの種類やレイアウトを自動的に推測するため,GUIの作成が非常に簡単です.Javaでインターフェースを作成するためには,Swing,AWT,その他のサードパーティGUIライブラリを使う必要があり,またコードの行数も通常Wolfram言語の場合より多くなります.
Pythonプログラマー向けの注意事項
Wolfram言語のManipulateはパラメータの指定に基づいてコントロールの種類やレイアウトを自動的に推測するため,GUIの作成が非常に簡単です.また,Manipulateは,全く同じコードを使って,デスクトップ,クラウド,モバイルデバイス上でシームレスに動作します.Pythonでインターフェースを構築するためには,スタンドアロンのGUIに対するカスタムコード,あるいはサードパーティのノートブックライブラリを使うことが必要です.デスクトップおよびクラウド用の同じインターフェースをPythonで作成するためには,両方のプラットフォームについて別々のコードを書かなければなりません.
Manipulateは標準的な「下限,上限,刻み幅」という反復子指定を使います:
Wolfram言語では,コントロールは単なる記号式です:
ボタンは,それが押されたときに評価される式を与えて作成します:
Dynamicは動的に更新された式の値を表示します.
(ローカルのデスクトップ版では常に動作しますが,クラウドではサポートが限られる可能性があります.)
スライダーを動かして,x の値を変更します:
評価時の値を表示します:
常に更新された値が表示されます:
Javaプログラマー向けの注意事項
Dynamicは値を結びつける強力な構造であり,Javaには直接これに該当するものはありません.Javaではxが変更されるたびに,表示を更新するためのメソッドの呼出し,バックグラウンドスレッド,追加のロジックのいずれかが必要です.
Pythonプログラマー向けの注意事項
Dynamicは,変更があったときに常に表示されている出力を動的に更新する,パワフルでユニークなWolfram言語の構造であり,Manipulateの基盤を形成するものでもあります.Pythonでは,これを自動的に行う方法はありませんが,ExternalEvaluateを使ってPythonコードをWolfram言語に統合することができます.