> ## 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:equals

> 將屬性值與參考值進行比較，匹配時執行正文塊；如果屬性不存在則擲回例外。

export const siteNameShort = "知行之橋";

arc:equals 關鍵字可以將屬性的值與一個參考值進行比較。和 [arc:check](./op-arc-check) 不同，arc:equals 關鍵字將會在指定的物件沒有包含指定的屬性時擲回例外。如果指定的屬性存在且值也匹配，那麼比較就是成功的。

<Note>
  `arc:equals` 和 [arc:check](./op-arc-check) 都需要屬性的名稱，該屬性的值將會與給定的值進行比較。如果需要比較兩個值，可以使用 [arc:select](./op-arc-select)。例如：

  ```xml theme={null}
  <arc:select value="[company_name]">
    <arc:case value="CompanyA">
      <img src="http://www.companya.com/favicon.ico" />
    </arc:case>
    <arc:case value="CompanyB">
      <img src="http://www.companyb.com/favicon.ico" />
    </arc:case>
    <arc:default>
      <img src="http://www.myhosting.com/generic.ico"/>
    </arc:default>
  </arc:select>
  ```
</Note>

## 參數

* **item**：用於比較屬性的物件。指定物件不是必需的。如果未指定物件，則使用預設輸出物件。
* **attr**：要比較的屬性的名稱。
* **case**：比較時是否忽略大小寫。預設為大小寫敏感；要忽略大小寫，將 case 參數設為 “ignore”。
* **value**：與屬性比較的值。
* **action**：如果相等將執行的操作。允許的值有：break，continue。

## 控制屬性

無

## 範例

和其它條件的關鍵字一樣，arc:equals 關鍵字主體也可以也包含 [arc:else](./op-arc-else) 關鍵字，如果值不匹配時將會執行 else 程式碼塊。下面的範例列出了除了 .err 檔案之外的所有檔案：

```xml theme={null}
<arc:call op="fileListDir">
  <arc:equals attr="file:extension" value=".err">
  <arc:else>
    <arc:push/>
  </arc:else>
  </arc:equals>
</arc:call>
```

## 另請參閱

* [arc:select](./op-arc-select)：在多個情況中選擇。
* [arc:notequals](./op-arc-not-equals)：建立一個不滿足相等條件時執行的程式碼塊。
