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

# arc:set

> 使用 arc:set 关键字在 ArcScript 中为属性设置值。

export const siteNameShort = "知行之桥";

`arc:set` 关键字可以为属性设置值。如果在不存在的对象中设置属性，则会自动创建该对象。

使用 `arc:set` 设置值有两种方法。可以设置 **value** 参数；对于多行且复杂的大值，也可以使用关键字本身的作用域来设置值。

## 参数

* **item**：指定要在其中设置属性的对象。如果未指定对象，则使用默认对象。
* **attr**：属性名称。也可以使用点号表示法指定对象（例如 `item.prefix:attr`）。
  * 完整的属性名称包含前缀和属性名，但前缀不是必需的。
  * 属性也可以使用井号（`#`）表示为数组。这意味着数组可以包含多个值，其中每个值都可以使用从 1 开始的索引来引用。例如，`attr="myitem.myattribute#2"` 引用 `myattribute` 属性中的第二个值。
* **value**：要分配给属性的值。如果未提供此参数，则使用 `arc:set` 关键字的整个主体作为值。这对于设置长值或多行值很方便。
* **copyfrom**：将此参数中指定对象的属性复制到 **item** 参数指定的对象中。

## 控制属性

无

## 示例

使用关键字作用域为名为 `input` 的对象的 message 属性设置值：

```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)：使用单个关键字设置多个属性。
