2012-05-05 1 views
3

рубин Motion поставляется с большим количеством готовых функций, отформатированный как это:Рубиновый Motion вручную Создание синтаксически подобные Objective-C-подобные функции в Рубине

def tableView(tv, numberOfRowsInSection:section) 
    # blah 
end 

Я хочу delcare свои функции, как это ; надуманный пример:

class Timeser 
    def multiplyNumber(one byNumber:two) 
    one*two 
    end 
end 

Этот код не будет компилироваться движения рубинового 1.0 ... Есть ли способ сделать это? Если да, то как?

+4

Должен ли быть запятая после 'one'? – UIAdam

ответ

7

Вы пропускаете запятую:

class Timeser 
    def multiplyNumber(one, byNumber:two) 
    one*two 
    end 
end 

Результат:

(main)>> Timeser.new.multiplyNumber(2, byNumber: 3) 
=> 6 
0
class Foo 
    def initWithThingOne(one, andThingTwo: two) 
    puts one 
    puts two 
    end 
end 

Foo.new.initWithThingOne "1", andThingTwo: "2" 
=> 
1 
2