2012-11-29 72 views
0

我正在編寫一個遺傳健身程序,目前我正在編寫一些代碼來計算每個生物體的「健身」值。在Actionscript中調用函數:「術語未定義,沒有屬性」

我想調用一個函數,初始化每個基因型;

function random_genotype_initialisation():void 
{ 
    //stuff 
} 

通過使用典型的方法調用我習慣於C#和Java;

random_genotyoe_initialisation(); 

然而,這將返回錯誤:「類型錯誤:錯誤#1010:一個術語是不確定的,沒有屬性。」

我在其他地方尋找幫助,我發現了一些建議,比如聲明一個變量和'調用'。

var rep = replicate_new_generation(); 
rep.call(); 

有什麼建議嗎?

回答

0

我想你的random_genotype_initialisation()函數中有一個未定義的值。你是對的,你在as3中調用一個和java/c/C++/c#/ js/etc相同的函數。

的片段是有點不對,因爲你存儲replcate_new_generationrep的結果,但是這是一個無效的功能,所以rep將是無效的,因此不會有()調用:

var rep = replicate_new_generation();//rep = void at this point 
rep.call();//call does not exist for rep 

你意思 ?

var rep:Function = replicate_new_generation; 
rep.call(); 

這是一樣的:如果錯誤是在函數裏生成也許你應該張貼的函數體 以及replicate_new_generation();

+0

我的錯誤,似乎我試圖調用的方法不能簡單地自行調用,我不得不調用另一種方法,其中包含上述方法的調用。 感謝您的支持答案雖然!我感謝幫助。 –

+0

你是什麼意思「不能簡單地被稱爲它的o wn「?函數聲明不會自行調用。此外,很高興這可以幫助,隨時投票/標記,因爲你看到適合:) –

0

C#與AS3非常相似,我不知道你在做什麼,或者爲什麼你的代碼不工作,因爲你沒有提供一個很好的例子。但只要以任何常規方式訪問,就可以直接調用函數。

說,一個類中你有:

class Boo { 
    private function foo():void { 
     trace("bar"); 
    } 

    public function foobar():void { 
     foo(); 
    } 
} 

class FoobarCaller { 
    public function FoobarCaller(){ 
     var asdf:Boo = new Boo(); 
     asdf.foobar(); 
    } 
} 

說,工作只是因爲它會在C#或其他任何「標準編碼語言然而,沒有一個更好的問題,這是不可能說什麼是你做錯了

相關問題