Я пытаюсь выяснить, как избавиться от скобок в Схеме? - PullRequest
0 голосов
/ 09 ноября 2018

Просто я не могу понять, как избавиться от одной глупой скобки в этом списке в схеме.Вот список:

(("R" 100 199 (("L" 120 140 160 180))) ("R" 200 299 (("L" 220 240 260 280))))

Я знаю, что должен использовать машину и CDR, но я чувствую, что использовал каждую возможность.

1 Ответ

0 голосов
/ 11 ноября 2018

Вы не можете избавиться от скобок верхнего уровня, потому что они связывают два выражения вместе, как вы можете увидеть, разбив выражение на разные строки:

(
 ("R" 100 199 (("L" 120 140 160 180)))
 ("R" 200 299 (("L" 220 240 260 280)))
)

Единственные скобки, которые могут быть здесь избыточнымите, которые находятся вокруг выражений "L".

(
 ("R" 100 199 ("L" 120 140 160 180))
 ("R" 200 299 ("L" 220 240 260 280))
)

Но эти выражения выглядят "несбалансированными".Как дикое предположение, я бы подумал, что это то, что вы ищете (теперь, используя правильный отступ схемы):

(("R" 100 199)
 ("L" 120 140 160 180)
 ("R" 200 299)
 ("L" 220 240 260 280))

Но чтобы знать наверняка, мы должны знать, что именно выпытается сделать, и что означают эти "L" и "R".

...