アムで文字列を区切るので、これに明白な答えがある場合に謝罪...
私は分割機能を作りたいです文字列すなわち以下のすべてのリスト[文字列]:ハスケル:選択したサブ文字列とハスケルにまだ新しい空白
[["int", "x", "=", "1"], ["y", ":=", "x", "+", "123"]]
:文字列の同じ文字列すなわち[[文字列]]へ
["int x = 1", "y := x + 123"]
["int x= 1", "y:= x+123"]
["int x=1", "y:=x+123"]
すべて
最初の[String]にmap words.lines
を使用できます。あなたがメインの文字列を分割するために、様々なサブ文字列"="
、":="
、"+"
などを使用しているだろう -
は、しかし、私も考慮に他人を取るために任意の本当にきちんとした方法を知りません。
私はparsecを見て、あなたの文字列を解析するための簡単な文法を構築するだろうHaskellの:-)
ありがとうございます。しかし、私はそれを「純粋に」、つまり他のライブラリなしで簡単に行うことを望んでいました。ああ、できればモナドもなく(どちらかといえば、まだ笑っていないので)。 –
あなたが始めている時、パセックはあまり良くありません。他の誰かが書いたパーサーを編集するのがかなり簡単だと分かったが、自分で書くことはしばらく私の能力を超えていた。モナドでいくつかの快適さが必要です。 – luqui
十分に公正。それはオプションとして考慮する価値がある。あなたがモナドでない何か他のものを望むなら、あなたはカスタムオプションで行かなければならないかもしれません。 –