2012-08-03 62 views
0

我想用CoffeeScript創建Ruby風格的對象。所以我想要做類似CoffeeScript向構造函數發送散列參數

class A 
    constructor: (@params) -> 

a = new A {send: true, name: "fit"} 
a.send #true 

有沒有什麼「標準」的方法來做到這一點?

回答

1

沒有辦法直接做。你可以定義一個基類,有代碼來做到這一點,像這樣的

class Base 
    constructor: (props) -> 
     for key, value of props 
      @[key] = value 


class Extend extends Base 
    constructor: (props) -> 
     super props 
     alert "#{@key1}, #{@key2}" 


e = new Extend 'key1': 'val1', 'key2': 'val2' 


alert "#{e.key1}, #{e.key2}" 

See it working here

+0

我想過類似的東西,但我在CoffeeScript中很新,因此無法得到工作方案。謝謝。 – Ximik 2012-08-03 13:52:54