Как вы оцениваете строку как выражение clojure?

Новый способ проверить версию системы с помощью быстрого Forget [[UIDevice currentDevice] systemVersion] и NSFoundationVersionNumber.

Мы можем использовать NSProcessInfo -isOperatingSystemAtLeastVersion

     import Foundation

     let yosemite = NSOperatingSystemVersion(majorVersion: 10, minorVersion: 10, patchVersion: 0)
     NSProcessInfo().isOperatingSystemAtLeastVersion(yosemite) // false
30
задан Erik Allik 9 June 2019 в 21:41
поделиться

3 ответа

(load-string "(+ 1 2)")
28
ответ дан 27 November 2019 в 23:47
поделиться
user> (eval (read-string "(+ 1 2)"))
3

Вам, вероятно, никогда не придется этого делать. Макросы и fns делают подобные вещи ненужными в 99% случаев. Это довольно хрупко и может быть небезопасно, если эти строки поступают из пользовательского ввода и т. Д.

30
ответ дан 27 November 2019 в 23:47
поделиться

Насколько это должно быть похоже? Clojure eval работает со списками, поэтому:

(eval (list + 1 2)) #=> 3
0
ответ дан 27 November 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: