Как я могу разобрать [a / b]? синтаксическая ошибка в реболе? - PullRequest
0 голосов
/ 21 сентября 2009

У меня проблема с:

>> parse [a / b] ['a '/ 'b]
** Syntax Error: Invalid word-lit -- '
** Near: (line 1) parse [a / b] ['a '/ 'b]
>>

1 Ответ

1 голос
/ 21 сентября 2009

Интерпретатор REBOL имеет некоторые ограничения на то, что вы можете с радостью писать в командной строке. Вы не можете получить lit-word , написав '/ - он выдает ошибку, потому что REBOL знает, что / является операцией! для деления:

'/
** Syntax Error: Invalid word-lit -- '

Но вы можете создать '/ как освещенное слово, начиная со строки:

to-lit-word "/"
== '/

Решение проблемы с вашим кодом:

parse [a / b] compose ['a (to-lit-word "/") 'b]
=== true
  • compose [...] - означает, что мы будем выборочно оценивать часть блока перед анализом
  • (...) - это часть, которая выборочно оценивается, создавая желаемое '/ lit-word
...