2017-05-08 3 views
0

私はF#で作成したこのプログラムを持っています。私は文を受け入れ、それぞれの単語/文字の品詞と単語/文字を示す文を返す必要があります。何かを読んで、mapStrTokenとマッチさせ、単語/文字と品詞をプリントアウトするにはどうすればよいですか?F#で文を印刷して項目を削除するには

私はここにこのコードを持っている:これはあなたが求めているものであれば

type tokens = Art of string | Noun of string | Adj of string 
       | Adv of string | 
       | Verb of string | Comma of string | Conj of string 
       |Prep of string | EOS of string | NONE;; 
let mapStrToken str = 
    match str with 
     | "dog" -> Noun str | "cat" -> Noun str | "mouse" -> Noun str | "tree" -> Noun str | "cheese" -> Noun str 
     | "a" -> Art str | "the" -> Art str 
     | "likes" -> Verb str | "hates" -> Verb str | "eats" -> Verb str | "chases" -> Verb str 
     | "," -> Comma str 
     | "." -> EOS str | "!" -> EOS str 
     | "fast" -> Adj str | "slow" -> Adj str | "furry" -> Adj str | "yellow" -> Adj str 
     | "quickly" -> Adv str | "slowly" -> Adv str | "quietly" -> Adv str 
     | "and" -> Conj str | "or" -> Conj str 
     | "of" -> Prep str | "around" -> Prep str 
     | _ -> NONE 
+0

あなたの目標は何か、遭遇した問題は明確ではありません。質問を明確にするために質問を言い換えてみてください。 –

+0

何をしようとしていますか?私は、あなたのユースケースが ''高速で黄色い犬 ".split( '')|> Array.map mapStrToken |> processTokenArray'のようなものだと思っていますが、processTokenArrayの出力が何か分かりません。 –

+0

私は宿題の問題について助けを求めていると思うのでアドバイスします。あなたがそれを公開している間は、ほとんどの教授があなたに助けを求めることができます。 "私はhttp://stackoverflow.com/q/43857644で助けを求めましたが、この機能は私を助けた人から来ました"(または同様の言葉遣い)、あなたはうまくいくはずです。あなたの教授の方針によっては、あなたがそれを公開しなければ、彼はそれを不正行為とみなすかもしれません。これが宿題でない場合はもちろん、このコメントは無視してください。 – rmunn

答えて

0

わからないが、これを試してみてください。

let tokenArray = "a fast , yellow dog".Split(' ') |> Array.map mapStrToken 
let doSomethingWithTokens = function 
    | [Art; Adj; Comma; Adj; Noun] -> Some("article adjective comma adjective noune") 
    | _ -> None 
tokenArray |> doSomethingWithtokens 
関連する問題