« おばけつぶやき帳 | トップページ | 相棒……劇場版 »

2008年5月29日 (木曜日)

第10回 付録

今回は付録として問1で出てきたRunRevの用語(術語)関して説明しておきます。レヴォルーションで使われる用語は全て半角英文字ですが、ここでは判りやすく全角文字で表示しているものがありますのでご注意下さい。また、下の表示で()内は同義語を基本にしていますが、判り難いものには説明として使っていますのでご了承下さい。

【キーワード(keyword)】

キーワードはレヴォルーションで使われるトランスクリプト言語を構成する要素の一つで、組み込み(レヴォルーションに予め用意されている)コマンド、関数、プロパティ、メッセージ名、制御構造、演算子、オブジェクトのタイプ、等には含まれないものです。

--(半角マイナス記号二つ):

コメントの始まりに使います。スクリプト内にメモや注意事項を書き残す時に使われます。一時的にスクリプトやステイトメントの実行を止めたい時にも、その部分をコメントとすることで実行されなくなります。

msg(MSG):

メッセージボックスを意味します。デバグの際に計算結果をメッセージボックスに表示させたり、変数の値を表示させたりする(主にテスト用の)コンテナとして使ったり、直接メッセージボックスにスクリプトを書いて実行させたりします。

【定数(constant)】


変数と同じく名前を持っている値であるが、その値は変数のように変化することがない。(国語辞書では『代数•数値計算で、一定の値を表す文字や数のこと』。)

empty:

文字や数字が何もない場合に使用します。別の表記法では“”と文字列の何もない引用符を用います。

return(cr、CRLF ):

リターン記号、ラインフィード記号と同義語で、スクリプト内ではこうした記号(特殊文字)をキーボードから入力することができないので、その代わりに使います。

tab:

タブ記号と同義語で、スクリプト内ではこうした記号(特殊文字)をキーボードから入力することができないので、その代わりに使います。

【メッセージ(message)】


オブジェクトに送られる指令の一つ。オブジェクトのスクリプトがメッセージと同一名のメッセージ・ハンドラを含んでいる時に、そのハンドラが実行されます。

enterInField:

フィールド内でエンターキーが押された時にフィールドに送られるメッセージです。

mouseDown:

マウスのボタンが押された時に送られるメッセージです。マウスのボタンが押された時というのは、文字通りの意味で、マウスのボタンが放される以前にメッセージとして発生し送られます。どこに送られるかは「mouseDown」ハンドラをどこに書いたかによって異なります。

moueUp:

マウスのボタンが放された時に送られるメッセージです。ますのボタンが放された時というのは、文字通りの意味で、マウスのボタンが放される瞬間にメッセージとして発生し送られます。どこに送られるかは「moueUp」ハンドラをどこに書いたかによって異なります。

returnInField:

フィールド内でリターンキーが押された時にフィールドに送られるメッセージです。

tabKey:

タブキーが押された時に送られるメッセージです。どこに送られるかは「tabKey」ハンドラをどこに書いたかによって異なります。

【コマンド(command)】


レヴォルーションに特定の行動(ウィンドウを開くとか、フィールドにテキストを入力するとか、ビープ音を鳴らすとか)を実行させるための指令・指示のこと。
レヴォルーションには多くの組み込みコマンドがあり、それらはレヴォルーション辞書で説明されています。それ以外に新たに自分で独自のコマンドを作ることもできます。
コマンドには下で説明するbeepのように単独で実行できるものと、selectのように(選択の)対象を必要とするものがあります。

beep:

システムのビープ音を鳴らします。

select:

beforeやafterと伴に使用して、フィールド内の文字や数字を選択します。

【関数(function)】


値を計算し、関数を呼び出したハンドラに値を返す一連のプログラム・コードのこと。

isNumber:

指定した値が数字の場合に真を、そうでない場合には偽を返します。この関数は真“true”か偽“false”しか返しません。従って、この返値(かえりち)を使って次のアクションをとります。例えば、返値が真の時、つまり値が数字の場合には、計算を行い、そうでない時にはエラーを表示する、というようにです。

isNumber(8) -- returns true 「真」を返します
isNumber(1+5) -- returns true 「真」を返します
isNumber(foo) -- returns false 「偽」を返します

round:

ある値を四捨五入してその値に最も近い整数に直します。また、桁数の精度を指定する場合にはその桁数に従って同様の操作をします。桁数の精度を指定した時には、桁数の扱いに注意が必要です。特に桁数精度にはマイナスの数値を指定することができるので直さらです。
このマイナス表示は「ひく;減算する」という意味でとると迷います。小数点を軸に整数側に位を遡ると考えると判りやすいと思います。【この部分は「直観で判る数学」「続 直観で判る数学」伴に、畑村洋太郎 著、岩波書店・刊を参考にしています】

the round of 26.2 -- yields 26 26を返します
the round of 2.5 -- yields 3 (rounds up) 3を返します(繰り上がり)
round(845.6604,2) -- yields 845.66 845点66を返します(四捨五入して値の小数第2位を表示)
round(9734.22,-3) -- yields 10000 1000を返します(値の小数マイナス第3位つまり整数部分の百の位を四捨五入して表示)


【演算子(operator)】


単一の値を変更したり、二つの値を組み合わせて新たな結果を作り出すような一つの記号或いは単語のこと。一般的な四則演算に用いられる数学記号と同じもので、同じ使い方をする。

+:足算
-:引算
/:割算
*:掛算
():演算の優先順位づけ
>:より大きい、右側の数値より左側の数値の方が大きい

【制御構造(control structure)】


一つのステイトメント(或いは一連のステイトメント)のことで、このステイトメントの中でそれ以外の幾つかのステイトメントの実行される順序を決定するようなステイトメントのこと。

if;if condition then statement [else elseStatement]:

条件が真の時にそれに続くステイトメントを実行する。else elseStatement は無くても良い。


Itoh017


「fld “BaiKa1”」のスクリプト;


on enterInField
if isNumber(me) then
put empty into fld “NeIre”
put me into fld “BaiKa2”
select text of fld “GenKa”
else
select text of me
end if
end enterInField

on returnInField
enterInField
end returnInField

on tabkey
enterInField
end tabkey


「fld “GenKa”」のスクリプト;


on enterInField
if isNumber(me) then
put round(((fld “BaiKa2” - fld “GenKa”) / fld “Baika1”) * 100,2) into fld “NeIre”
select empty
else
select text of me
end if
end enterInField

on returnInField
enterInField
end returnInField

on tabkey
enterInField
end tabkey

|

« おばけつぶやき帳 | トップページ | 相棒……劇場版 »