compose
データを複数の文字列に書式設定
説明
は、str
= compose(formatSpec
,A
)formatSpec
で指定された書式演算子を使用して入力配列 A
のデータ値の書式を設定し、結果のテキストを str
に返します。関数 compose
は、列順に A
の値の書式を設定します。formatSpec
が string 配列の場合、出力配列 str
も string 配列となります。それ以外の場合、str
は文字ベクトルの cell 配列です。
また、compose
は、formatSpec
内のエスケープ文字シーケンスも変換します。エスケープ文字シーケンスは、出力されない文字を表すか、改行やタブなどのアクションを指定します。
関数 compose
は、sprintf
とは異なり、書式設定された複数のテキストを string 配列または文字ベクトルの cell 配列として返すことができます。関数 sprintf
は string スカラーまたは文字ベクトルのみを返します。
A
に複数の行が含まれる場合、compose
は同じ行数の string 配列または cell 配列としてstr
を返します。compose
は、A
の対応する行からの書式設定された値を使用して、str
の各行でformatSpec
を繰り返します。A
の列数がformatSpec
内の演算子の数を超える場合、compose
はstr
の追加列としてformatSpec
を繰り返します。A
の余分な列から書式設定された値が、str
の新しい列に配置されます。A
の列数がformatSpec
内の演算子の数より小さい場合、compose
は、値の書式設定に余分な演算子を使用しません。代わりに、compose
は書式演算子を変更せずにstr
に配置します。ただし、compose
は、\\
と%%
を除く、すべてのエスケープ文字シーケンスを変換します。
は、複数の入力配列のデータ値を書式設定し、すべての書式設定された値を連結します。str
= compose(formatSpec
,A1,...,AN)compose
が入力配列のデータの変換に使用した formatSpec
の書式演算子は、後続の入力配列では使用できなくなります。
たとえば、formatSpec
が "%f %f %d %s"
で、A1
が 2 列である場合、演算子 "%f %f"
は A1
の値のみに適用されます。A2
やその他の入力配列にはそれらを適用できません。compose
は、残りの演算子 "%d %s"
を A2,...,AN
に適用します。
最後の入力配列 AN
の列数が残りの演算子の数を超えている場合、compose
は、前述の構文で説明したように、str
に列を追加します。AN
の列数が残りの演算子の数より小さい場合は、compose
は最後に残った演算子を変更せずに str
に配置します。
例
入力引数
出力引数
拡張機能
バージョン履歴
R2016b で導入