EVAL関数
本ページには広告が含まれています。
文字列を評価(evaluate)し値を返します。式や文を文字列として受け取り、実行するための関数です。
- 構文
- void = EVAL( 文字列 )
- 引数
- 文字列
(String)必須
- 評価(実行)する文字列
- 戻り値
- 結果得られた値を返す
A = Bは比較演算として処理、代入式の場合はA := Bとする
使い方
比較演算
文字列で与えられた式を評価し結果をブール値で返します。
以下はaに1を代入し、EVAL関数で比較を行い結果をブール値で返します。
使える比較演算子は<=、<、>=、>、=、<>です。詳細は演算子の優先順位(比較演算子)を参照。
- 結果
複数の条件を書く場合、論理演算子を使うことで記述できます。詳細は演算子の優先順位(論理演算子)を参照。
論理演算子を使用したときの戻り値はDouble型です。
- 結果
論理演算子を使うとEVAL関数の戻り型がDouble型になります。True、Falseの判定をするには問題ありませんが、ブール型で取得したい場合は、VARTYPE関数で変換します。
- 結果
代入演算
変数に値を代入するには:=を使います。変数はEVAL関数よりも前に宣言しておく必要があります。
- 結果
EVAL関数を使うと予約語や定数にも代入できてしまうので注意が必要です。
以下は予約語であるTRUEにFALSEを代入します。
- 結果
以下はpiに円周率の値を定数として宣言した後、EVAL関数で書き換えてます。
- 結果
プログラム実行例
入力された文字列の計算をする
使用関数
- 連想配列 (1行目)
- DIM (2、3、6、10、12行目 すべて)
- ローカル変数を宣言します。
- WHILE文 (5、23行目 すべて)
- ループ処理を行います。ループの始めに条件判定を行いループ内で条件を変えないと無限ループになります。条件が合わなければ処理は1度も実行されません。最低1度は処理を実行したい場合はREPEAT-UNTIL文を使います。前判定。
- FOR-TO文 (7、9行目 すべて)
- 条件が真の間、処理を繰り返し実行します。途中でループを抜けたいときは<ruby>BREAK文<rt></rt></ruby>を使います。
- LENGTH関数 (7行目)
- 文字数もしくは配列サイズを返します。
- INPUT関数 (10行目)
- インプットボックスを表示します。
- IFB文 (11、19行目 すべて)
- IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。
- POS関数 (11行目)
- 文字列内で部分文字列が最初に現れる位置を返します。
- SPLIT関数 (12行目)
- 文字列を区切り、配列を作成します。
- 例外処理 (13、18行目 すべて)
- EVAL関数 (14、21行目 すべて)
- 文字列を評価し値を返します。式や文を文字列として受け取り、実行するための関数です。
- FUKIDASI関数 (16、20行目 すべて)
- メッセージを吹出しに表示します。
- CONTINUE文 (17行目)
- FOR文、WHILE文、REPEAT文でループの先頭に戻ります。
- REPLACE関数 (21行目)
- 指定文字列を置換します。
- IF文 (22行目)
- IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときは<ruby>IFB文<rt></rt></ruby>を使います。
- BREAK文 (22行目)
- BREAK文はFOR文、WHILE文、REPEAT文のループ内から抜け出したいときに使います。
- 特殊文字 (16行目)
算数の演算記号を含む数式を計算
算数の演算記号(+、−、✕、÷)を含む数式を、コンピュータが理解できるように変換して計算します。
加算と減算は半角文字に変換すればそのまま計算できますが、乗算は✕を*、除算は÷を/に変換してから[createLink url="/script/function/eval/"]を使って計算します。
使用関数
- DIM (1行目)
- ローカル変数を宣言します。
- STRCONV関数 (2行目)
- 文字列を大文字・小文字、ひらがな・カタカナ、全角・半角の相互変換を行います。
- REPLACE関数 (3、4行目 すべて)
- 指定文字列を置換します。
- PRINT文 (6行目)
- UWSC.LOGにログを出力します。
- EVAL関数 (6行目)
- 文字列を評価し値を返します。式や文を文字列として受け取り、実行するための関数です。
CLKITEMで操作できる項目を取得
使用関数
- PUBLIC (1行目)
- グローバル変数を宣言します。
- SETHOTKEY関数 (3、4行目 すべて)
- ホットキーを設定します。
- DIM (6、18行目 すべて)
- ローカル変数を宣言します。
- REPEAT文 (11、14行目 すべて)
- ループ処理を行います。ループの終わりに条件判定を行うので、最低1度は処理が実行されます。後判定。
- FUKIDASI関数 (12、16行目 すべて)
- メッセージを吹出しに表示します。
- SLEEP関数 (13行目)
- 処理を待機します。
- GETID関数 (18行目)
- 指定したウィンドウのIDを取得します。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。
- PRINT文 (20、21、24、26、28行目 すべて)
- UWSC.LOGにログを出力します。
- STATUS関数 (20行目)
- ウィンドウの各種状態を返します。
- FOR-IN文 (23、25、27、29行目 すべて)
- 配列の要素分だけ処理を繰り返します。FOR文でも書き換えられます。
- GETITEM関数 (25行目)
- キャプション文字やリスト等をすべて取得します。
- EVAL関数 (25行目)
- 文字列を評価し値を返します。式や文を文字列として受け取り、実行するための関数です。
- PROCEDURE-FEND (31、33、35、37行目 すべて)
- PROCEDUREは戻値のない自作関数を定義することができます。
- EXITEXIT文 (32行目)
- 処理を完全に終了します。
- 行結合 (6、7、8行目 すべて)
公開日:
更新日: