ここでは当社(多摩ソフトウエア有限会社)の製品に入力できる「式」の概略について説明します。
たとえば、次のような式を記述できます。
式の例 | 意味 |
---|---|
3 | 数字の 3 |
3+4 | 7 になる |
3*4 | 12 になる |
3.14 | 小数 |
true | 論理値「真」 |
"abc" | 文字列「abc」 |
"abc"+"de" | 文字列「abcde」 |
"abc".size | 文字列の長さ 3 |
"abc" =~ /b/ | 「abc」に正規表現 b が一致するか → true |
次の型があります。
型 | 定数例 | メンバ |
---|---|---|
整数 | 0 1 2 -3 12 | to_s |
小数 | 0.0 3.14 -10.7 | to_s to_i |
文字列 | "" "123" "あいうえお" /123/ | size to_i |
論理 | true false | to_s to_i |
配列 | 1,2,3 "a","b" 4,5,"abc",7 | size last to_s |
検索結果 | "abc" =~ /b/ | count hits hitss |
nil | nil |
"..." では、エスケープ表記を使用します。
/.../ では、その中に「/」を書くときは「\/」とエスケープする必要がありますが、他のエスケープ文字はありません。/.../ は正規表現を記述するときに便利です。
たとえば、"\\(abc\\)" と /\(abc\)/ は、どちらも「\(abc\)」という文字列を表現します。
※注意: この文書では円記号(\)がバックスラッシュ(\)で表示される場合がありますが、この 2 つは同じものです。
数値などの普通の型にもメンバがあります。たとえば 2.to_s は文字列 "2" に評価されます。メンバの一覧を次に示します。
メンバ | このメンバを持つ型 | 意味 |
---|---|---|
to_s | 整数 小数 論理 配列 | 文字列に変換する |
to_i | 小数 文字列 論理 | 整数に変換する |
size | 配列 文字列 | 配列の要素数または文字列の長さ |
last | 配列 | 最後の要素 |
count | 検索結果 | 検索ヒット数 |
hits | 検索結果 | 正規表現の ( ) にヒットした文字列 (最初のヒットのみ) |
hitss | 検索結果 | 正規表現の ( ) にヒットした文字列 (全ヒット) |
以下はいくつかのメンバの詳細な説明です。
メンバ | 意味 |
---|---|
<論理>.to_i | 真は 1、偽は 0 になる。 |
<小数>.to_i | 小数点以下は切り捨て。 |
<文字列>.to_i | 文字列を 10 進数として評価。全角数字も可。文字列中のカンマ (,) は無視される。 |
<配列>.to_s | 配列の各要素に to_s を適用した結果をカンマ (,) で区切って並べた文字列。 |
<検索結果>.hits | 正規表現の ( ) の部分に最初に一致した実際の文字列から得られた配列。最初の ( ) に一致した文字列が hits[0] に入り、2 番目の ( ) に一致した文字列が hits[1] に入る。以下同様。ヒットが 1 つもない場合、および正規表現に ( ) が含まれていない場合は、空の配列になる。
たとえば text が A1B2C3 のとき、(text =~ /([A-C])([1-3])/).hits は配列 A,1 になる。 |
<検索結果>.hitss | .hits と似ているが、.hitss の各要素は配列になっており、その最初の要素には最初のヒットの内容、次の要素には 2 番目のヒットの内容が入る。以下同様。ヒットが 1 つもない場合は空の配列になる。正規表現に ( ) が含まれていない場合は空の配列の配列になる。
たとえば text が A1B2C3 のとき、(text =~ /([A-C])([1-3])/).hitss[0] は配列 A,B,C、(text =~ /([A-C])([1-3])/).hitss[1] は配列 1,2,3 になる。 |
使用できる演算子の一覧を以下に示します。
演算子 | 左引数 | 右引数 | 結果 | 優先順位 | 意味 |
---|---|---|---|---|---|
+ | 整小文 | 整小文 | 整小文 | 14 | 加算 |
- | 整小 | 整小 | 整小 | 14 | 減算 |
* | 整小 | 整小 | 整小 | 16 | 乗算 |
/ | 整小 | 整小 | 整小 | 16 | 除算 |
% | 整 | 整 | 整 | 15 | 剰余 |
- | 整小 | 整小 | 17 | マイナス | |
& | 整 | 整 | 整 | 10 | ビット論理積 |
^ | 整 | 整 | 整 | 9 | ビット排他論理積 |
| | 整 | 整 | 整 | 8 | ビット論理和 |
~ | 整 | 整 | 17 | ビット反転 | |
== | 整小文論 | 整小文論 | 論 | 11 | 比較 (同じ) |
!= | 整小文論 | 整小文論 | 論 | 11 | 比較 (違う) |
< | 整小文 | 整小文 | 論 | 12 | 比較 (より小さい) |
> | 整小文 | 整小文 | 論 | 12 | 比較 (より大きい) |
<= | 整小文 | 整小文 | 論 | 12 | 比較 (以下) |
>= | 整小文 | 整小文 | 論 | 12 | 比較 (以上) |
= | 任 | 整小文論 | 整小文論 | 3 | 代入 |
=~ | 文 | 文 | 特 | 13 | 正規表現が一致するか |
!~ | 文 | 文 | 特 | 13 | 正規表現が一致しないか |
&& | 論 | 論 | 論 | 7 | 論理積 |
|| | 論 | 論 | 論 | 6 | 論理和 |
! | 論 | 論 | 17 | 論理否定 | |
[ ] | 配 | 特 | 任 | 19 | 配列要素の参照 |
. | 任 | 特 | 任 | 19 | メンバの参照 |
, | 任 | 任 | 配 | 2 | 配列要素の併記 |
? : | 論 | 任 | 任 | 4 | 三項演算 |
( ) | 特 | 任 | 任 | 18 | 関数呼び出し (引数付き識別子参照) |
( ) | 任 | 任 | 優先的に計算する部分を囲む括弧 | ||
; | 任 | 任 | 任 | 1 | 式の併記。最後の式の値を返す |
※優先順位は数値が大きいほうが高い。
※左引数、右引数、結果の記号の意味: 整=整数、小=小数、文=文字列、論=論理値、配=配列、任=任意、特=特殊
関数 | 意味 |
---|---|
max(a, b) | a と b の大きいほうを返します。a、b は整数または小数に評価される必要があります。 |
min(a, b) | a と b の小さいほうを返します。a、b は整数または小数に評価される必要があります。 |
dsp(a) | この関数が評価されたときに a を表示します。 |
Last updated at Tama Software Ltd.