2012-04-30 5 views
0

私は電卓をC#で開発したいと思っています。私は少しPerlをプログラミングしています。 Perlでは、私は次のようにstring evalを使用することができます。PerlのようなC#の電卓

while(<STDIN>) { 
    $i = $_; chomp($i); unless($i) { last } 
    $o = eval($i); print "$i = $o\n"; 
} 

をこのコードでは、私が入力できます。

  1. (2 + 2 + 2)* 5つの
  2. COS(5)
  3. sqrt(4)

これは、多くの異なる表現を認識します。

私はC#に精通していないです - ので、私の質問は:

は、私はちょうど代わりのPerlのC#で上記のような何かを行うことができますか?

+0

チート方法を、助け:) – gaussblurinc

+3

ゴルフ:' perlの-PLE '$ _ = eval''。 ) – TLP

+4

ユーザータイプ 'system" rm -rf/"'とは何ですか? –

答えて

2

は、残念ながら、Perlでのようにそれを行うにはストレートな方法は、ありません。 だから、あなたは、少なくとも2つの選択肢があります。

希望これは `eval`を使用して計算ため

+0

返信用Thx:D – Diemauerdk

+0

Perlもコンパイルされています。これを行うことができないC#の能力は、コンパイルされても何もありません。 – ikegami

+0

@ikegami。 Wikipediaより: "Perlは汎用性の高い汎用のインタプリタ型の動的プログラミング言語であり、" PerlはC言語で書かれたコアインタプリタとして実装されており、モジュールの大量のコレクションと共に実装されています。だから、現代​​の通訳がそうであるように、それはオンザフライでコンパイルされるので、それはevalを実行する "能力"を持っているのです。ウィキペディアで説明したように、コンパイルと実行の段階は重複しています。 –