アプリ版:「スタンプのみでお礼する」機能のリリースについて

ビジュアルベーシック初心者です。
タイトルでは誤解をうむと思いますが、やりたいことは以下のようなことです。

kigouという変数をstringsで宣言しそこに文字として算術記号を代入する。  例 kigou = "+"

このkigou変数を用いて、実際の計算をする。
例 i = 1 kigou 2
この場合、kigou変数には+が代入されているので、iの値は3になる。

このように、kigouに入れる算術記号を任意にかえ、kigouという変数を用いて実際の計算をさせたいのですが、正しい記述方法などがわかりません。方法はありますか?

A 回答 (4件)

#3です。


プログラムは、どれだけ多く使われるかによって、作るのにどれだけ手間をかけてもよいか、が決まるものです。例えば、それだけの需要があれば、次のようなプログラムを作っても採算がとれるはずです。

例えば、
keisan (2, +, 3) よりも一歩進めて、keisan ("(2 + 3) * 4") の値が 20 となるような function keisan を作ることは可能です。中級者以上の練習問題に適していると思います。
    • good
    • 0

Function keisan (x, kigou, y)


Select Case kigou
Case "+"
keisan = x + y
case "-"
keisan = x - y
End Select
End Function

のようにすれば keisan (2, +, 3) で 5 が返されるのでは?
(すみません、しばらくVBをやっていないので、合っているかどうか)
    • good
    • 0

すいません。


Delphi、PHP、Perlしか経験がないのですが、VBって文を変数の中に入れても成立するんですか?

No1の方が、
>kigouの内容によって計算が変わるので、
と書いているので、質問の流れをあわせると、・・・出来るのかな!?

a := '<';
if 1 a 2 then
ShowMessage('OK');
ってコンパイル出来ます?
私が知らないだけかもしれませんが、どの言語でも出来ない気がします。
(あー、特殊な言語は別で。世の中には特殊な言語があるようなので。^^;

まえに、練習でDelphiで切符の4桁の四則演算(4つの数字を足して、0とか1にするやつ)を作りましたが、結局はいいアイディアが浮かばず、すべての例を挙げて、if文で条件分けするという、かっこの悪いものしか出来ませんでした。
Case文で分けてもいいですけど。

Delphiでも、文のなかに変数をいれて成立する方法があれば、その名前だけでも教えてください。
    • good
    • 0

#計算式が文字列で与えられたりすれば文字列のparseから考えないといけませんが・・



kigouの内容によって計算が変わるので、Select Case kigouでcase分けをするしかありませんね。しょっちゅう使うようなら関数にするかな・・。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!