板栗项目。苹果酒BREPL。
使用Three.js,我得到一个简单的颜色对象:
(set! c (js/THREE.Color. 0 0 255))
检查对象:
clojoids-org.dev> (type c)
#<function ( color ) {
if ( arguments.length === 3 ) {
return this.setRGB( arguments[ 0 ], arguments[ 1 ], arguments[ 2 ] );
}
return this.set( color )
}>
我在设置color属性时读到了这个。但是,当我尝试获取颜色属性时,我得到nil:
clojoids-org.dev> (.-color c)
-> nil
也尝试过年龄:
clojoids-org.dev> (aget c "color")
->nil
除了访问RGB或setRGB(如函数中的setRGB()调用所示):
clojoids-org.dev> (.-RGB c)
-> nil
clojoids-org.dev> (.-setRGB c)
#<function ( r, g, b ) {
this.r = r;
this.g = g;
this.b = b;
return this;
}>
nil
clojoids-org.dev> (.-r (.-setRGB c))
nil
clojoids-org.dev> (.-b (.-setRGB c))
nil
clojoids-org.dev> (.-g (.-setRGB c))
nil
要么它真的为零,因为我没有正确设置颜色,或者我没有正确访问它。
任何人都可以看到我做错了吗?
答案 0 :(得分:0)
好吧,在发布这个问题后不久,我发现这很有效:
clojoids-org.dev> (.-r c)
0
clojoids-org.dev> (.-g c)
0
clojoids-org.dev> (.-b c)
255
因此问题是我没有正确访问它。