# 使用變數的貨幣符號展開

對於指令碼或運算式中的文字取代使用變數時，將使用下列語法：

$(variablename)

$(variablename) 會展開至變數中的值。如果 variablename 不存在，則展開將導致空字串。

對於數值變數展開，使用下列語法：

$(#variablename)

它一律會產生變數數值的有效小數點表示法，可能還會包含指數標記法 (若是極大/極小的數字)。如果 variablename 不存在或不包含任何數值，將會展開為 0。

範例：

`SET 
 DecimalSep=',';` `LET 
 X = 7/2;`

貨幣符號展開 $(X) 將展開至 3,5，而 $(#X) 將展開至 3.5。

範例：

`Set Mypath=C:\MyDocs\Files\;` ` ...  ` `LOAD * from $(MyPath)abc.csv;`

將從 C:\MyDocs\Files\abc.csv 載入資料。

範例：

`Set CurrentYear=1992;` ` ...  ` `SQL SELECT * FROM table1 WHERE
 Year=$(CurrentYear);`

將選取具有 Year=1992 的列。

範例：

```
 Set vConcatenate = ; For each vFile in FileList('.\*.txt')    Data:    $(vConcatenate)    LOAD * FROM [$(vFile)];    Set vConcatenate = Concatenate ; Next vFile
```

In this example, all .txt files in the directory are loaded using the Concatenate prefix. 如果欄位略有不同，在此情況下自動串連不會運作，則可能需要此項目。vConcatenate 變數最初設定為空字串，因為 Concatenate 前置詞不能在第一次載入中使用。如果目錄包含名為 file1.txt、file2.txt 和 file3.txt 的三個檔案，則在三個反覆運算期間，LOAD 陳述式將展開至：

`LOAD * FROM[.\file1.txt];` `Concatenate LOAD * FROM[.\file2.txt];` `Concatenate LOAD * FROM[.\file3.txt];`

## 以替代狀態展開變數

變數只有一個值，這用於所有替代狀態。當您展開變數時，值也相同，獨立於進行的位置和物件狀態。

若變數是計算的變數，亦即定義開頭為等號，則會在預設狀態下進行計算，除非您在變數定義中指定替代狀態。

範例：

若您擁有名稱為 `MyState` 的狀態，以及名稱為 `vMyVar` 的變數：

```
vMyvar: =only({MyState} MyField)
```

明確參考替代狀態名稱的變數定義內容會決定將在哪個狀態評估變數內容。