Javaオブジェクト内の多くの異なるフィールドを設定するコードをファクタ化するにはどうすればよいですか?私は期間がマクロで、文字通り(最初のフィールド)を評価しようとするためしかし、これは動作しませんファクタClojureコードでJavaオブジェクトの多くの異なるフィールドを設定する
(doseq [field '((name "Chris") (age 100) (salary 5000))]
(set! (. employee (first field)) (second field)))
に
(set! (. employee name) "Chris")
(set! (. employee age) 100)
(set! (. employee salary) 5000)
を考慮したいと思います。ちなみに、私はフィールドを設定することは良い方法ではないことを理解しています。私はレガシーコードと相互運用する必要があります。あなたは試してみてください
そのような方法は存在しません。 – chris
ああ、あなたはフィールドを設定しています。注意を払っていないという私のせいです。私は自分の答えを更新しました。 – Psyllo