Как я могу использовать Clojure -CLR на Unity3d?
Как я могу использовать Clojure -CLR на Unity3d?
Ответ 1
Комплексный ответ "возможно, вы можете", прагматичный ответ "нет, вы не можете".
Sylwester предположил, что это дубликат использования его с Mono, что на самом деле не так, потому что Unity использует свою собственную вилку Mono (тот, который очень старый... 2.6?), поэтому что-то, что совместимо с Mono, t обязательно иметь совместимость с Unity.
ClojureCLR требует DLR (хотя они и отходили от него), что означает, что он несовместим с Unity, поскольку для DLR требуется Mono 2.8 +.
Сказав, что можно добавить DLR как зависимость, а также скомпилировать ClojureCLR в DLL и получить доступ к нему из Unity, это то, что я сделал, однако мой опыт состоял в том, что я мог бы получить много своего кода, чтобы нормально работать в среде разработки, но когда я построю игру, все сломается, она просто проигнорирует материал Clojure.
Если Unity переместится в более высокую версию Mono, или ClojureCLR избавится от зависимости от DLR, я не вижу никакой причины, по которой Unity не сможет ее поддерживать, и я с большим нетерпением жду этого. Но на данный момент это не практично.
Если существует обход (и, вероятно, это происходит), мне никогда не удавалось это понять.
Ответ 2
Люди из сообщества Clojure получили что-то работающее.
Из @swannodette "Похоже, @ra и @timsgardner получили Clojure, работающие внутри Unity прошлой ночью"