Diff
詳細とオプション
- Diffは,以下の型の式について結果を生成する.
-
リスト {…} 2つのリストの違いを返す テキスト "text", File["fname.txt"] 2つのテキストブロックの,個々の文字,単語,行の違いを返す 生体分子配列 BioSequence[…] 2つの生体分子配列間の文字の連なりの違いを返す セル Cell[…], CellObject[…] 2つのセルの間の,コンテンツ,スタイル,オプションの違いを返す ノートブック Notebook[…], NotebookObject[…], File["fname.nb"] 2つのノートブック間のセルとオプションの違いを返す - DiffはDiffObjectを返す.
- Diffは,要素の列を比較する際はSequenceAlignmentを使う.
- Diffには,SequenceAlignmentと同じオプションに以下を追加したものが使える.
-
DiffAlignmentMethod Automatic 差分の並べ方 DiffGranularity Automatic 差分の粒度 DiffIgnore {} 無視すべきデータ型のリスト DiffIncludeMatches Automatic マッチするデータを結果のDiffObjectに含めるかどうか DiffInputFunction Identity 差分の入力を前処理する関数 - Diffの出力の表示方法は,以下のオプションで制御できる.
-
Alignment {Automatic, Automatic} 表示エリアのオブジェクトのアラインメント Appearance Automatic 差分の全体的な外観 AppearanceElements Automatic 表示する差分に含める要素 DiffStyle < > 差分のベーススタイル指定 ImageSize Automatic 差分の全体的な画像サイズ ImageSizeAction Automatic コンテンツのサイズが画像サイズと一致しない際にどうするか Scrollbars False スクロールバーを含めるかどうか ScrollPosition {0,0} スクロールが有効な場合のスクロール位置 - DiffGranularityは,テキスト間の差分を取るときは,"Lines","Words"あるいは"Characters"設定を使って両者の違いを結果のDiffObjectに合わせて符号化することができる.デフォルトで,2つの文字列を比較すると"Characters"差分が与えられる.どちらかのオブジェクトがテキストファイルの場合は."Lines"差分が与えられる.
- Diffは,ノートブックを比較するときは,セルの構造についての追加的な知識を使用して2つのノートブックのセルリストの揃え方を決定する.デフォルトで,揃えるために与えられたセルのペアのExpressionUUIDを参照する.セル間の編集距離のみを一致させてセルリストを揃える際はDiffAlignmentMethod"CellEditDistance"を使う.
- Diff[first,second]はDiff[first,second,"DiffObjectViewer"]に等しいが,これは,異なる形式がインタラクティブに選択できるポップアップメニュー付きのビューアを作成する.format の他の値は,ビュータイプをインタラクティブに変更する機能なしで,指定された形式として表示される.
- format の値の中には first と second の違いをインライン注釈で示しながら両者を明示的に表示するものがある.
-
"CharacterAlignment" 文字列または生体分子配列の場合,first と second の個々の文字を垂直に並べて表示する "Combined" first と second を組み合せたものを表示する "Separate" リスト{first,second}を表示する "SideBySide" first と second の要素を隣り合った列に並べて表示する "Unified" first と second の要素を単一の統合された列で表示する - format の値の中には,抽象的な可視化を使って first と second の違いの性質と範囲を描写するものがある.
-
"AlignmentChart" first と second の要素を,要素がどのように並ぶのかを示す線で繋がれた点の列として描画する図表を表示する "ArrayPlot" 要素の組み合されたリストを,セルの色で変更を示す配列プロットとして表示する "SideBySideSummary" first と second を彩色された配列セルの別々のシーケンスとして表示する.変更がないシーケンスは省略される "UnifiedSummary" first と second を彩色された配列セルの組み合されたシーケンスとして表示する.変更がないシーケンスは省略される - 以下は,format のその他の使用可能な値である.
-
"Details" 各変更のテキストによる説明を生成する "DiffObjectViewer" インタラクティブな形式設定をパネルに表示する "Report" 2つのノートブック式の違いのレポートを含むノートブックを作成する "SummaryBox" DiffObject要約ボックスとして表示する - format の値の中には式のタイプの下位区分にしか使えないものがある.
- Diff[first,second][format]はDiff[first,second,format]に等しい.
例題
すべて開くすべて閉じる例 (3)
スコープ (5)
オプション (15)
AppearanceElements (1)
"Unified"フォーマットを使って,デフォルトで行番号を表示する:
AppearanceElementsから行番号を削除する:
DiffAlignmentMethod (1)
ノートブックに異なるセルが続けて含まれているとき,Diffは最良の並べ方を試みる:
DiffAlignmentMethod"SequenceAlignment"としてこの機能を無効にすると,2つのセルのブロックが内部的な整列なしで単一の変更としてマークされる:
DiffGranularity (1)
DiffGranularityを使って文字列を一連の行として扱う:
DiffIgnore (2)
セルを比較する際,Diffはスタイルとオプションの変更も見付ける:
DiffIgnoreを使ってスタイルとオプションの変更をすべて無視する:
DiffIgnoreを使って特定のノートブックオプションを無視する:
DiffIncludeMatches (3)
マッチする要素がたくさんあるとき,Diffはそれらすべては出力に含めない:
DiffIncludeMatchesTrueを使ってマッチする全要素を保存する:
DiffIncludeMatchesは,文字列についてのDiffObjectにも大きな影響を及ぼす:
差分の表示は,通常は,DiffObjectに含まれるすべてのマッチを表示する:
DiffInputFunction (2)
DiffStyle (1)
Diffは,通常,デフォルトで,追加には緑,削除には赤を使う:
DiffStyleを使って特定の要素にスタイルを加える:
DefaultDiffStyle Noneと設定してデフォルトのスタイルを削除する:
Scrollbars (1)
Scrollbars Automaticとして,必要な際にスクロールバーを表示する:
特性と関係 (5)
使用可能な特性のリストについてDiffObjectに尋ねる:
使用可能な形式についてDiffObjectに尋ねる:
DiffObjectの初期形式を変える:
2つのリストが与えられると,DiffおよびSequenceAlignmentは同じ変更を見付けるが,表現の仕方は異なる:
DiffObjectからSequenceAlignmentを抽出する:
考えられる問題 (2)
テキスト
Wolfram Research (2024), Diff, Wolfram言語関数, https://reference.wolfram.com/language/ref/Diff.html.
CMS
Wolfram Language. 2024. "Diff." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Diff.html.
APA
Wolfram Language. (2024). Diff. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Diff.html