1
私は先生(+、 - 、*、/をサポートする人)によって簡単な電卓を作成するように求められました。ユーザーの入力を受け取り、結果を出力する必要があります。それは永遠に実行し、最後に計算された結果を保存する必要があります。Fの正規表現が正規表現を使用しています
正規表現を使ってやりたいのですが、これについては最近紹介されていますが、どのように動作させるかを理解できません。 これは私が作成したものですが、動作しません。
let getInput() =
System.Console.Write ("give input: ")
let s = System.Console.ReadLine()
s
let simpleCalc() =
let numb1 = "[0-9]*"
let numb2 = "[0-9]*"
let operator = "[+-*/]"
while true do
let s = getInput()
match s with
| "([0-9]*)([+-*/]?)([0-9]*)" [ int1; operator; int2 ] -> int1 operator int2
| _ -> printfn "thas no simple maf"
最初の '[+ - * /]'は、 '+'と '*'の間のASCII文字と一致するので、 '+、 - 。 '-'をエスケープするか、リストの先頭または最後に置く必要があります。 – ctwheels
正規表現ではなくパターンマッチングを使用しているようです。どこかで 'System.Text.RegularExpressions.Regex'を使う必要があります。 – TheQuickBrownFox
それらのお返事ありがとうございます。今私は自分のアイデアの2つを混ぜ合わせていることがわかります。最初にnumb1、numb2、operatorを定義する必要はありませんが、どのように構文を使用するのかは不明です。ここに助けがありますか?私は実際に何かのための最初の定義を使用しません。 –