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

複数の演算子を選択するプログラムがあり、選択する演算子によって計算方法を変えたいのですが、このときに今やっている方法はifの条件分岐にて処理を行っておりますが、演算子は変数に代入できないのでしょうか?

例えばべき乗を選択した場合は
変数= ^

また、これと同じく代入演算子の場合も
変数= ^=

という方法があれば教えていただきたいです。
よろしくお願いいたします。

A 回答 (2件)

演算子を変数に代入できる言語(例えばLISP)もありますが、


VBではできません。
単純に文字列として変数に保持するようにして
文字列として評価すべき式を再構成して
Eval関数を使えばいいように思います。
    • good
    • 0

>演算子は変数に代入できないのでしょうか


そんなことはありえないでしょう。
質問の表現の仕方が、質問者の意向を反映していないのでしょう。
「変数」という変数に、演算子(記号文字)を代入したら、背後にある、「「変数」を含んだ演算式」(xとする)を、演算式として実行して、結果を還してほしいということでしょう。
しかしそれを実現するには、上記(X)の演算式を実行する仕掛け(プログラム、メットド)が要るわけです。式にカッコを認めるだけで、逆ポーランド記法など勉強する必要があったりして、複雑化します。
簡単な四則・累乗の2項演算でも場合わけしてプログラムを組み込む
ことになり、その場合は、本来の演算子の機能を取り入れたのではなく、区別する識別記号として使っただけになりかねません。
x="+" -*・^のどれか
=Calc(a,b,X)で
演算をするメソッドCalcのようなものは自作以外ないでしょう。
    • good
    • 0

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