Следующий код возвращает NIL:Java Interop: Почему (.setProperty (Свойства.) "Key1" "value1") возвращает ноль, но обертывание вызова в doto работает?
(.setProperty (Properties.) "key1" "value1") -> nil
Ниже, однако, кажется, работает как задумано:
(doto (Properties.) (.setProperty "key1" "value1")) -> {"key1" "value1"}
Почему?
Вы можете понять это путем макрорасширения. 'doto' - макрос. Если вы попытались выполнить макрообъем в форме 'doto', вы можете увидеть результат расширения, как этот' (let [G__85037 (Свойства.)] (.setProperty G__85037 "key1" "value1") G__85037) ':) –