式について
式の文法について
式は、キーワード、演算子、関数、および値を記号で組み合わせたものです。
通常の手続き型プログラミング言語と違い、全体がひとつの式になる構造にする必要があります。
たとえば、手続き型プログラミング言語であるVisualBasicで、
If 予想タイム指数順位=1 Then
Result = 10
ElseIf 予想タイム指数順位<10 Then
Result = 5
Else
Result = 0
End If
のように記述する内容は、If ... Then ... 構文を同じ働きをするIIf関数などを使って次のように記述します。
IIf( 予想タイム指数順位=1, 10,
IIf( 予想タイム指数順位<10, 5, 0)
)
データ型
データ型は、キーワードおよび式の演算結果がどのようなタイプのデータであるかによって大きくわけて3種類に分類できます。
数値型
数値を表現するデータ型です。
数値型は内部的にはさらにバイト型、ブール型、整数型、長整数型、単精度浮動小数点型、倍精度浮動小数点型、通貨型にわけられていますが、馬王で式を記述する際にはとくに意識する必要はありません。必要に応じて最適な数値型が選ばれます。
日付/時刻型
西暦100年1月1日~西暦9999年12月31日までの日付および時刻を表現するデータ型です。
日付/時刻型の定数をあらわすには、日付または時刻と認識できる文字列の前後をシャープ記号(#)で挟みます。
<例>
2013年12月31日は、#2013/12/31#
午後4時30分は、#16:30#
2013年12月31日午後4時30分0秒は、#2013/12/31 16:30:00#
文字列型
文字列を表現するデータ型です。
文字列型の定数をあらわすには、文字列の前後をダブルクォーテーション記号( " )またはシングルクォーテーション記号( ' )で挟みます。
<例>
オルフェーヴルは "オルフェーヴル"
演算子
1つまたは複数の要素を演算するための記号や単語(+, -, <, >, Or, And など)のことです。
算術演算子、比較演算子、文字列連結演算子、論理演算子の4種類があります。
算術演算子
演算子 | 説明 | 例 |
^ | 数値のべき乗を求めます。 | 2 ^ 10 は 1024 |
* | 2つの数値の積を求めます。 | 2 * 3 は 6 |
/ | 2つの数値の商を小数点付きで計算します。 | 10 / 4 は 2.5 |
\ | 2つの数値の商を小数点切り捨てで計算します。 | 10 \ 4 は 2 |
Mod | 2つの数値の除算を行ない、その余りを返します。 | 20 Mod 7 は 6 |
+ | 2つの数値の和を求めます。 | 2 + 3 は 5 |
- | 2つの数値の差を求めます。 | 4 - 3 は 1 |
比較演算子
演算子 | 説明 |
< | 式1 < 式2 式1が式2よりも小さいときに真を返します。 |
<= | 式1 <= 式2 式1が式2と等しいか、より小さいときに真を返します。 |
> | 式1 > 式2 式1が式2よりも大きいときに真を返します。 |
>= | 式1 >= 式2 式1が式2と等しいか、より大きいときに真を返します。 |
= | 式1 = 式2 式1が式2と等しいときに真を返します。 |
<> | 式1 <> 式2 式1が式2と等しくないときに真を返します。 |
Between | 式 Between 式1 And 式2 式が式1 と式2の間にあるかどうかを返します。 |
Like | 文字列 Like パターン文字列 文字列がパターン文字列にマッチしているかどうかを返します。 |
文字パターン | 文字列の中の一致する文字 |
? | 任意の1文字 |
* | 任意の数の文字 |
# | 任意の1文字の数字 |
[charlist] | 文字リストcharlist中の任意の1文字 |
[!charlist] | 文字リストcharlist中にない任意の1文字 |
文字列連結演算子
演算子 | 説明 | 例 |
& | 2つの文字列を連結した文字列を返します。 | "あ" & "いう" は "あいう" |
論理演算子
演算子 | 説明 | 例 |
And | 2つの式の論理積を返します。 | 真 And 真 は真(True)、真 And 偽 は偽(False) |
Or | 2つの式の論理和を返します。 | 真 Or 偽 は真(True)、偽 And 偽 は偽(False) |
Not | 式の論理否定を返します。 | Not 真 は 偽(False)、 Not 偽 は 真(True) |
関数
関数は、パラメータをわたすことによって所定の結果を返すようにあらかじめ用意されている手続きのことを言います。