式のアウトライン表示
計算をさせ非常に長い答が返ってくるとき,答のすべてを見たくないときもあるだろう.全体の形がどうなっているか知りたいかもしれない.そして式の形が分かったならば部分的に詳細がどうなっているか見てみたいこともある.
そのようなときは,関数
Shortと
Shallowを使うと式を省略表示できる.
| Short[expr] | 式expr の部分を1行分表示する |
| Short[expr,n] | 式expr の部分をn 行分表示する |
| Shallow[expr] | 式expr の木構造において最上位(最も浅いレベル)の部分だけを表示する |
| Shallow[expr,{depth,length}] | 式expr の木構造において指定レベルの深さと長さまで表示する |
式のアウトライン表示
この計算結果は非常に長いものになる.実際に表示させたなら,23行程度続いてしまうだろう. |
そこで tを短縮表示させる.答の中の <<>>とは省略された項の数を示す.
Out[2]//Short= |
| |  |
|
Mathematica により
OutputFormのようなテキスト形式の出力が生成される場合,まず,式が長くても短くても単一行で全部分が生成される.次に,表示行の幅を見て,それに収まるように式が複数行に分割される.このとき,各行には上付き文字や分数等の数学記号が入っていて実際の表示では1行分の高さ以上になることもある.なお,短縮表示関数
Shortに指定できる行数は,出力装置に実際に表示される行の数ではなく「論理行数」であることに注意する.
tの答を4行分だけ表示する.先程より多くの項が見えるようになる.
Out[3]//Short= |
| |  |
|
Shortは
StandardForm,
TraditionalForm等の別の形式でも使える.これらの形式を使う場合は,改行は出力を生成するときにカーネルによって決められるのではなく,出力を表示するときにノートブックインターフェースにより決められる.その結果,
Shortにより生成される線の数の設定は,スクリーンで表示される実際の線の数を近似するだけとなる.
Out[4]//Short= |
| |  |
|
Shortの機能は,指定した行数になるまで出力式から部分を1つずつ除去する.場合によっては,出力する行数を制限するより,種類別に式の部分を制限した方が分かりやすい.その場合,上位部分だけを表示させるための書式,
Shallow[expr, {depth, length}]が使える.この短縮機能を使うと,式の木構造における指定の深さ以下の部分を出力禁止にできる.長さ
length は,出力に残しておく関数の引数最大数を指定する.
| Out[5]//Shallow= |  |
|
今度は,表示する関数は何でもよいとし,引数を10個までに制限する.
| Out[6]//Shallow= |  |
|
特に,式がネストしているときは(
Traceで得られる結果等で),
Shallowを使うと式全体を通しで一様に整理でき便利である.
帰納的関数であるフィボナッチ(Fibonacci)の関数を定義する.
| Out[7]= |  |
|
トレースしてみる.結果が長くなるので,表示は禁止にしておく. |
| Out[9]//Shallow= |  |
|
Shortだと,あまり一様なアウトラインは得られず,式の形が分かりにくい.
Out[10]//Short= |
| |  |
|
ノートブックインターフェースで生成された出力がかなり大きい場合,
Mathematica は自動的にその出力に
Shortを適用する.このように向上したユーザインターフェースにより,ユーザが期待していないような評価の出力を生成しフォーマットするのに
Mathematica が長時間掛けるのを防ぐことができる.
通常,このような割当ての最後にはセミコロンがある.
| Out[11]= |  |
|
ユーザインターフェースのボタンにより,どれくらいの出力を見るかを制御することができる.この動作が有効となる大きさの閾値は,出力式のバイト数による.そのバイト数は,ボタンで開くノートブックインターフェースの「環境設定」ダイアログで設定することができる.