> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# フォーマッタ

> スクリプトや式の設定内でデータを変更およびフォーマットするためのArcScript 値フォーマッタの概要。

export const siteNameShort = "Arc";

フォーマッタは、スクリプトや式の設定内の値の変更や書式設定をサポートし、インプットを受け取ってアウトプットを生成することで動作します。インプットは、アイテムの属性の形式、または[Function](./function-formatters) としてフォーマッタに渡されます。

このセクションで定義されているフォーマッタは、受け入れるインプットの種類に基づいて分類されています：

* [文字列](./string-formatters)
* [配列](./array-string-formatters)
* [日付](./date-formatters)
* [数値](./number-formatters)
* [ファイル](./file-formatters)

ファンクションはフォーマッタと同じように使用され、アウトプットを生成しますが、明示的なインプットは必要ありません。詳しくは、[ファンクション](./function-formatters)を参照してください。

## フォーマッタの基本

属性（変数）はパイプ文字を使用してフォーマッタに渡されます：|

`[item.attribute | formatter(parameters)]`

ここで、*formatter* はフォーマッタの名前で、*parameters* はフォーマッタのアウトプットを制御するためのオプションのパラメータセットです。各フォーマッタをパイプで区切ることにより、複数のフォーマッタを使用できます。フォーマッタは左から右に評価され、フォーマッタからのアウトプットは次のフォーマッタに"パイプ"されます：

`[item.attribute | formatter(parameters) | formatter(parameters) | ...]`

## 例

* 以下のスニペットでは、`myid` 属性の値に含まれる"\*" 文字が"-" に置き換えられ、結果の値が`input1.id` に割り当てられます。

  ```xml theme={null}
  <arc:set attr="input1.id" value="[myid | replace('*', '-')]"/>
  ```

* 以下では、2つの値フォーマッタをパイプ（"|"）文字で連結します。この例では、オペレーションから`.log` ファイルのみがプッシュされます。

  ```xml theme={null}
  <arc:call op="fileListDir">
    <arc:check attr="name" value="[filename | tolower | endswith('.log')]">
      <arc:push/>
    </arc:check>
  </arc:call>
  ```

* 注文書のラインアイテムの合計コストは、アイテム数量とアイテムあたりの価格を掛け合わせて計算する必要がある場合があります。

  ```xml theme={null}
  <arc:set attr="cost" value="[itemQuantity | multiply([itemPrice])]" />
  ```
