ここでは当社(多摩ソフトウエア有限会社)の製品に入力できる「式」の概略について説明します。

たとえば、次のような式を記述できます。

式の例意味
3数字の 3
3+47 になる
3*412 になる
3.14小数
true論理値「真」
"abc"文字列「abc」
"abc"+"de"文字列「abcde」
"abc".size文字列の長さ 3
"abc" =~ /b/「abc」に正規表現 b が一致するか → true

次の型があります。

定数例メンバ
整数0   1   2   -3   12to_s
小数0.0   3.14   -10.7to_s to_i
文字列""   "123"   "あいうえお"   /123/size to_i
論理true   falseto_s to_i
配列1,2,3   "a","b"   4,5,"abc",7size last to_s
検索結果"abc" =~ /b/count hits hitss
nilnil

メンバ

数値などの普通の型にもメンバがあります。たとえば 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 つもない場合、および正規表現に ( ) が含まれていない場合は、空の配列になる。

たとえば textA1B2C3 のとき、(text =~ /([A-C])([1-3])/).hits は配列 A,1 になる。

<検索結果>.hitss.hits と似ているが、.hitss の各要素は配列になっており、その最初の要素には最初のヒットの内容、次の要素には 2 番目のヒットの内容が入る。以下同様。ヒットが 1 つもない場合は空の配列になる。正規表現に ( ) が含まれていない場合は空の配列の配列になる。

たとえば textA1B2C3 のとき、(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) ab の大きいほうを返します。ab は整数または小数に評価される必要があります。
min(a, b) ab の小さいほうを返します。ab は整数または小数に評価される必要があります。
dsp(a) この関数が評価されたときに a を表示します。

Last updated at   Tama Software Ltd.