

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AWS TOE 元件文件中使用邏輯運算子
<a name="toe-logical-operators"></a>

您可以使用下列邏輯運算子來新增或修改元件文件中的條件式表達式。 會依條件的指定順序 AWS TOE 評估條件式表達式。如需元件文件比較運算子的詳細資訊，請參閱 [在 AWS TOE 元件文件中使用比較運算子](toe-comparison-operators.md)。

**而且**  
使用 `and`運算子，您可以將兩個或多個比較評估為單一表達式。當清單中的所有條件都是 true `true`時，表達式會評估為 。否則，表達式會評估為 `false`。  
**範例：**  
下列範例會執行兩個比較：字串和數字。這兩個比較都是 true，因此表達式會評估為 true。

```
and:
  - stringEquals: 'test_string'
    value: 'test_string'
  - numberEquals: 1
    value: 1
```
下列範例也會執行兩個比較。第一個比較是 false，此時評估會停止並略過第二個比較。表達式會評估為 `false`。  

```
and:
  - stringEquals: 'test_string'
    value: 'Hello world!'
  - numberEquals: 1
    value: 1
```

**或**  
使用 `or`運算子，您可以將兩個或多個比較評估為單一表達式。當其中一個指定的比較為 true `true`時，表達式會評估為 。如果沒有指定的比較評估為 `true`，則表達式評估為 `false`。  
**範例：**  
下列範例會執行兩個比較：字串和數字。第一個比較是 true，因此表達式會評估為 `true`，並略過第二個比較。

```
or:
  - stringEquals: 'test_string'
    value: 'test_string'
  - numberEquals: 1
    value: 3
```
下列範例也會執行兩個比較。第一個比較是 false，評估會繼續進行。第二個比較是 true，因此表達式會評估為 `true`。  

```
or:
  - stringEquals: 'test_string'
    value: 'Hello world!'
  - numberEquals: 1
    value: 1
```
在最後一個範例中，兩個比較都是 false，因此表達式會評估為 `false`。  

```
or:
  - stringEquals: 'test_string'
    value: 'Hello world!'
  - numberEquals: 1
    value: 3
```

**不是**  
使用 `not`運算子，您可以否定單一比較。如果比較為 false`true`，表達式會評估為 。如果比較為 true，則表達式會評估為 `false`。  
**範例：**  
下列範例會執行字串比較。比較為 false，因此表達式會評估為 `true`。

```
not:
  - stringEquals: 'test_string'
    value: 'Hello world!'
```
下列範例也會執行字串比較。比較是 true，因此表達式會評估為 `false`。  

```
not:
  - stringEquals: 'test_string'
    value: 'test_string'
```