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 で導入