製品
製品の一覧
Mathematica
Mathematica
学生エディション
Mathematica
ホームエディション
Wolfram
CDF Player
(無料ダウンロード)
CDF(計算可能ドキュメント形式)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
アドオン
Wolfram|Alpha関連製品
ソリューション
ソリューションの一覧
工学
航空宇宙工学と防衛
化学工学
制御系
電気工学
画像処理
生産工学
材料科学
機械工学
オペレーションズリサーチ
光学
石油工学
バイオテクノロジーと医学
バイオインフォマティクス
医用画像処理
金融,統計,ビジネスの分析
保険数理
データの解析とマイニング
計量経済学
経済学
金融工学と数学
財務リスク管理
統計
ソフトウェア工学とコンテンツ配信
オーサリングと出版
インターフェース開発
ソフトウェア工学
Web開発
科学
天文学
バイオサイエンス
化学
環境科学
地球科学
社会・行動科学
デザイン,芸術,娯楽
ゲームデザイン・特殊効果・ジェネレーティブアート
教育
高等教育
短大・専門学校
初等・中等教育
学生
テクノロジー
CDF(計算可能ドキュメント形式)
高性能並列計算(HPC)
参照:テクノロジーガイド
ご購入
オンラインストア
他の購入方法
Volumeライセンスとサイトライセンス
販売部へのご連絡
ソフトウェア
サービス
アップグレード
トレーニング
書籍
Wolframグッズ
サポート
テクニカルサポートページ
Mathematica
ドキュメント
知識ベース
ラーニングセンター
テクニカルサービス
コミュニティ & フォーラム
トレーニング
サイトライセンスの確認
Wolframユーザポータル
会社概要
会社概要
ニュースとイベント
Wolframブログ
パートナーシップ
採用情報
Mathematica
の歴史
Stephen Wolframのホームページ
連絡先
Wolfram Webサイト
サイトの一覧
Wolfram|Alpha
デモンストレーションプロジェクト
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
MATHEMATICA 組込みシンボル
即時的な定義と遅延的な定義
チュートリアル »
|
Set
TagSetDelayed
Unset
Clear
RuleDelayed
Dynamic
関連項目 »
|
割当て
言語の概要
規則とパターン
スコープ構文
Mathematica シンタックス
変数と関数の定義
その他 »
SetDelayed
を
の遅延型の値として設定する.
は,未評価の形式で維持される.
が現れると,
で置き換えられて,その都度評価される.
詳細
SetDelayed
は属性
HoldFirst
ではなく
HoldAll
を持つ.
の形式の割当てをすることができる.ただし,
は,それぞれの変換規則の条件や適用性を与える.同じ
について複数の割当てを与えることができるが,この場合,
の形式を変えて与える.
は,指定された割当てが実行可能な場合には
Null
をその他の場合には
$Failed
を与える.
例題
すべて閉じる
例
(1)
In[1]:=
In[2]:=
Out[2]=
スコープ
(9)
SetDelayed
で定義された変数は使われるたびに評価される:
即時的割当てと遅延的割当てを使って特殊な場合と一般的な場合についての定義をする:
条件付きの定義をする:
いくつかの条件付きの場合で関数を定義する:
それ自身の値:
下向きの値:
部分値:
上向きの値:
数値:
アプリケーション
(3)
ニュートン法で平方根を計算する手続きを定義する:
必要に応じて計算を実行し結果をキャッシュする:
名前呼び出し(call-by-name)の動作は,未評価式に対する定義で実装することができる:
大域変数が変更された:
特性と関係
(9)
即時的定義の右辺は定義が行われたときに評価される:
遅延的定義の右辺は定義が使われるたびに評価される:
定義の左辺の引数は定義が行われる前に評価される:
同じ左辺の定義はそれより前のものを上書きする:
必要に応じて,パターン変数はネストしたスコープの内側で名前を変えられる:
遅延的割当ては大域変数に影響されないスコープを導入する:
即時的割当てはスコープを導入しない:
規則を使って特定の式の変換をする:
定義を使って
を含むすべての式を自動的に変換する:
より特殊な定義はより一般的な定義の前に置かれる:
Definition
は記号に関連する定義を出力する:
Information
は,定義を含む記号のさまざまな情報を出力する:
DownValues
は,定義された任意の下向きの値に対応する規則のリストを返す:
Unset
(
)を使って特定の左辺を持つ定義を除去する:
任意の定義を除去する.属性は除去しない:
ClearAll
を使って属性も除去する:
考えられる問題
(4)
を除くことで,関数についてではなくリテラル値についてのみの変換を定義する:
遅延的定義を使うと予期せぬ結果になることがある:
実際に行われた定義とその動作:
Evaluate
を使って右辺の評価を強制する:
あるいは,
Set
を使って右辺の評価を強制する:
反復的な暴走定義:
基底ケースを与えると反復が止まる:
再帰的な暴走定義:
底を与えると反復が終了する:
おもしろい例題
(1)
フィボナッチ(Fibonacci)数列の動的プログラミング:
計算中に新たな定義が加えられた:
関連項目
Set
TagSetDelayed
Unset
Clear
RuleDelayed
Dynamic
チュートリアル
即時的な定義と遅延的な定義
その他
割当て
言語の概要
規則とパターン
スコープ構文
Mathematica
シンタックス
変数と関数の定義
バージョン 1 の新機能