> ## 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.

# arc:set

> arc:set キーワードを使用して、ArcScript でアトリビュートに値を設定します。

export const siteNameShort = "Arc";

`arc:set` キーワードを使用して、アトリビュートに値を設定します。アトリビュートが、存在しないアイテム内に設定されている場合、アイテムは自動的に生成されます。

`arc:set` を使って値を設定する方法は2種類あります：**value** パラメータを設定するか、複数行で複雑な大きな値の場合には、キーワード自体のスコープを使って値を設定することもできます。

## パラメータ

* **item**：アトリビュートが設定されているアイテムを指定します。アイテムが指定されていない場合は、デフォルトアイテムが使われます。
* **attr**：アトリビュートの名前。ドット表現（例えば`item.prefix:attr`）を使用してアイテムを指定することもできます。
  * 完全なアトリビュート名にはname と接頭辞の両方がありますが、接頭辞は必須ではありません。
  * アトリビュートは、ハッシュ（`#`）を使用して配列として表すこともできます。つまり、配列は複数の値を含むことができ、各値は1オリジンのインデックスを使って参照できます。例えば、`attr="myitem.myattribute#2"` は`myattribute` 属性の2番目の値を指します。
* **value**：アトリビュートに割り当てる値。このパラメータが指定されていない場合、`arc:set` キーワードのボディ全体が値として使われます。これは、長い値、もしくは複数行の値を設定する際に便利です。
* **copyfrom**：このパラメータで指定されたアイテムからのアトリビュートは、**item** パラメータにより指定されたアイテムにコピーされます。

## アトリビュートの制御

None

## 例

キーワードのスコープを使って、`input` という名前のアイテムのメッセージアトリビュートの値を設定します：

```xml theme={null}
<arc:set item="input" attr="message">
  Dear [name],
  You have won a cruise trip to Hawaii.
  Please confirm your acceptance by [date].
  Thanks, [sales]
</arc:set>
```

## 関連項目

* [arc:unset](./op-arc-unset)：アイテムからアトリビュートを削除する。
* [arc:setm](./op-arc-set-m)：1つのキーワードで複数のアトリビュートを設定する。
