Разбить оболочечный синтаксис в Haskell? - PullRequest
3 голосов
/ 02 ноября 2011

Как я могу разбить строку в синтаксисе в стиле оболочки в Haskell?Эквивалент в Python: shlex.split.

>>> shlex.split('''/nosuchconf "/this doesn't exist either" "yep"''')
['/nosuchconf', "/this doesn't exist either", 'yep']

1 Ответ

1 голос
/ 02 ноября 2011

Я не уверен, что именно вы имеете в виду: вы хотите получить все цитируемые подстроки из строки?Обратите внимание, что в отличие от Python и т. Д. На Haskell есть только один набор кавычек, которые указывают, что что-то является строкой, а именно "...".

Возможные варианты:

  • The слов и строк функций

  • split пакет

  • Написатьпользовательский анализатор, использующий polyparse, uu-parsinglib, parsec и т. д.

Это может быть полезно, если вы указали, почему вам нужна такая функциональность: вы пытаетесь анализировать существующие сценарии оболочки?Тогда language-sh может пригодиться.Но вы не должны использовать такие строки внутри Haskell, а вместо этого использовать [String] или что-то еще.

...