2016-09-28 3 views
-1

は、私は私がテストしていた、このコードを持っている:スプリットは関数ではありませんか?

var test:String="Hello there; im zane" 
var parts:Array=test.split(";"); 
trace(parts) 
trace(parts[0]) 
var randomnum:Number=0; 
stage.addEventListener(Event.ENTER_FRAME, code) 
function code(c:Event):void{ 
    if(parts[randomnum] != undefined && parts[randomnum] != null){ 
     parts[randomnum]=parts[randomnum].split(" "); 
     randomnum+=1 
     trace(parts[randomnum]) 
     } 
    else{ 
     randomnum=0 
     } 
} 

をそしてこのparts[randomnum]=parts[randomnum].split(" ");との誤差があります。 Flashには、分割は関数ではありませんと言っている(

はTypeError:エラー#1006:分割は関数ではありませんUntitled_flaで :: MainTimeline /コード()

)以前、このプロジェクトで

、I変数の別の部分で分割関数を使用し、私もparts[0]=parts[0].split(" ")を試してみましたが、うまくいきました。

私が見つけようとしているのは、このシナリオで分割コマンドが機能しないのはなぜですか?私は何か間違っているのですか?でも、イベントの外

+0

'trace(parts [randomnum])'とそれが文字列であることを確認してください。 – Marty

答えて

1

I also tried parts[0]=parts[0].split(" ") out of the event and it worked fine.

それはメソッドが上に呼び出されたのと同じ変数にsplit()の戻り値を代入しているため、この行は、あまり意味がありません。 ENTER_FRAMEが繰り返し実行されるため、このは2回目に失敗します。split()Arrayを返すので、そのようなメソッド自体はありません、これはエラーの基本的なことです。

+1

私はそれが終わるとそれを繰り返さないようにしました。それは働いた –

関連する問題