У меня есть программа, которую я упаковываю в clojure.
Программа имеет несколько символов, которые она использует для запуска, в качестве ввода.
Я создал простой пользовательский интерфейс для преобразования введенных пользователем строк в символы с помощью карты.
#expect user to enter "boat"
(def input (read-line))
(def ops '{"boat" b})
(if
# check if the value of the key is a valid symbol
(in? '(a b c) (ops input))
#if so , run class
(start (ops input))
#end
(print "didnt find " input " in options , fail.\n")
)
Логика работает, однако, программа падает, как только она достигает вызова "start" ... Это заставляет меня думать, что по какой-то причине символ "b" в '(abc) нене совпадают с b, как заявлено в вызываемой программе (то есть той, которую я здесь не показал).
Совершенно очевидно, что эта проблема неинтересна, поэтому мой реальный вопрос:разбирать строки на символы, которые я посылаю в качестве управляющих структур в другую программу?Или есть лучший способ вызвать внешний сценарий clj, который использует необработанные символы в качестве внутренних входных данных.Я был бы признателен за любую конкретную информацию относительно причины сбоя программы ... но, поскольку я не предоставил много кода, я не ожидаю, что кто-либо сможет волшебным образом "знать", что здесь не так, в каком-либо подробном смысле.