• ベストアンサー

複数の演算子を選択する場合の処理

複数の演算子を選択するプログラムがあり、選択する演算子によって計算方法を変えたいのですが、このときに今やっている方法はifの条件分岐にて処理を行っておりますが、演算子は変数に代入できないのでしょうか? 例えばべき乗を選択した場合は 変数= ^ また、これと同じく代入演算子の場合も 変数= ^= という方法があれば教えていただきたいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

演算子を変数に代入できる言語(例えばLISP)もありますが、 VBではできません。 単純に文字列として変数に保持するようにして 文字列として評価すべき式を再構成して Eval関数を使えばいいように思います。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

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

関連するQ&A

専門家に質問してみよう