2
我有一个向量值,比如[210 50 60]
,我需要用它创建Java对象。比如我要创建Color
:申请Java构造函数
(Color. 210 50 60) ; standard way
(apply Color. [210 50 60]) ; hmm... I need something like this
当然Color.
的是不是一个功能,我们不能用就可以了apply
。有没有办法解决这个任务的一种优雅的方式或做我必须把它写这样的:
(let [[r g b] [210 50 60]]
(Color. r g b))
如何有一个3 int作为参数的构造函数? – Marco 2014-10-06 08:55:32
我认为最接近的做法是制作一个lambda包装:'(apply#(Color。%1%2%3)...)' – 2014-10-06 08:55:52
@Marco,它不会比'let'更好。很显然,这样的包装只是一种方式,以某种方式使用“应用”在先验无用的环境中。我想,正确的解决方案就是某种标准宏。 – Mark 2014-10-06 08:59:55