Tôi có subexpression sau đây để phân tích 'trích' mà có định dạng sauTư vấn về FParsec để xử lý khoảng trắng
"5.75 @ 5.95"
do đó tôi có biểu hiện parsec này để phân tích nó
let pquote x = (sepBy (pfloat) ((spaces .>> (pchar '/' <|> pchar '@')>>. spaces))) x
Nó hoạt động tốt .. ngoại trừ khi có dấu cách trong đầu vào của tôi, khi biểu thức dấu phân tách bắt đầu tiêu thụ nội dung. Tôi đã quấn nó quanh một nỗ lực, hoạt động và dường như, từ những gì tôi hiểu, nhiều hay ít ý nghĩa của điều này.
let pquote x = (sepBy (pfloat) (attempt (spaces .>> (pchar '/' <|> pchar '@')>>. spaces))) x
Vì tôi không biết fparsec rất tốt, tôi tự hỏi nếu có cách nào tốt hơn để viết điều này. nó có vẻ hơi nặng (trong khi vẫn rất dễ quản lý tất nhiên)
# này 2 là một nỗi đau. lừa tốt để biết. tất cả các ý kiến hữu ích .. – nicolas
dự án của bạn là điên rồ. bạn bị điên. tốt để xem một số parsec được sử dụng ở đây, lời khai của chất lượng tôi đoán. – nicolas
['khoảng trống'] (http://www.quanttec.com/fparsec/reference/charparsers.html#members.spaces) phân tách không hoặc nhiều khoảng trống - không cần sử dụng' opt'. – Daniel