テキスト音楽「サクラ」バグ掲示板

サクラのバグ(不具合)を報告する掲示板です。
[一覧へ] > (@34) [低] [確認待ち]
@34■ (#76) 複数の配列でなければ、認識されない。 - 凪 (2014-08-14 00:26) /低 確認待ち
/*

【症状】関数内に於いての関数呼び出しが、複数の配列でないとうまく認識されない。
【要望】報告のみです、実用上は困ってません。
【バージョン】
   Editor 2.375
   DLL    2.374


   Function Split(Str TT,""){
   Array RR= Split(TT)

   Function Split(Str TT){
   Array RR= Split(TT,"") 

   上記の記述では普通に処理します。
   以下のケースに於いてのみ、文字を読み込めない。

   Function Split(Str TT){
   Array RR= Split(TT)


*/

Function StepChg(Str TT){ //8^4 

 TT=TT+{_Fin}; Int NN= POS({_Fin},TT)

 Str XX; Array RR;
 Str ZZ; Int SW;
 For(Int i=1; i< NN; i++){

  XX=MID(TT,i,1) // i=1~

  Switch(XX){ //fast ver.
   Case(" "){ SW=3 }
   Case("-"){ SW=2 }
   Case("^"){ SW=1 }
   Case("+"){ SW=1 }
   Case("0"){ SW=0 }
   Case("1"){ SW=0 }
   Case("2"){ SW=0 }
   Case("3"){ SW=0 }
   Case("4"){ SW=0 }
   Case("5"){ SW=0 }
   Case("6"){ SW=0 }
   Case("7"){ SW=0 }
   Case("8"){ SW=0 }
   Case("9"){ SW=0 }
  } //sw
  Switch(SW){ //fast ver.
   Case("0"){ ZZ=ZZ+ XX }
   Case("1"){ RR=(RR, ZZ) ZZ= "" }
   Case("2"){ RR=(RR, ZZ) ZZ= XX }
   Case("3"){}
  } //sw
 } // RR=(8,4)

 If(ZZ!=""){ RR=(RR, ZZ) }

 Int FF;
 For(Int i=0; i<SizeOf(RR); i++){
  FF=FF+ !(RR(i)) //step++
 }

 Result= FF; //144
} //func


 
Function Split(Str TT){ //"b#8^4 

 TT=TT+{_Fin}; Int NN= POS({_Fin},TT)
Print(TT)

 Str XX;
 Array RR=("",""); //str

 Int SW;
 For(Int i=1; i< NN; i++){

  XX=MID(TT,i,1) // i=1~

  Switch(XX){ //fast ver.
   Case(" "){ SW=2 }
   Case("0"){ SW=1 }
   Case("1"){ SW=1 }
   Case("2"){ SW=1 }
   Case("3"){ SW=1 }
   Case("4"){ SW=1 }
   Case("5"){ SW=1 }
   Case("6"){ SW=1 }
   Case("7"){ SW=1 }
   Case("8"){ SW=1 }
   Case("9"){ SW=1 }
   Case("^"){ SW=1 }
   Case("-"){}
   Case("+"){}
   Default{   SW=0 }
  } //sw

  If(SW!=2){ RR(SW)=RR(SW)+ XX }

 } // RR=("b#, 8^4)
Print(RR)
 
 Int FF;
 If(RR(1)==""){ FF=MML(l) }Else{ FF= StepChg(RR(1),"") } // err?

 RR =(RR(0), FF)

 Result= RR; //"b#, 144 [step:8^4]
} //func


 

Function Pico2(Str TT, Int NN){ //b-, 32 

 Array RR= Split(TT) // err?
 Int Nvk=MML(v)

 Str XX=" Sub{ P=3 r%L P.Sine(0,3,124,R,3) } Sub{ v120 [6 xL v-15 TrackKey=12 xL TrackKey=0 v-5] } r%R "
 XX.s("x",RR(0)) XX.s("L",NN) XX.s("R",RR(1))
Print(XX)
 XX;
 v(Nvk)
} //func


Tempo=66  TR=1 @81,1,0 o6

Pico2({「"b#g」4 },48) // C omit3


(#76)へ返信する:

名前
タイトル
本文
優先度
状態
確認キー お手数ですが、いたずら防止のために、「桜」の読み方を訓読みで記入してください。
編集キー 編集時に使うキーを入力(省略可能)
添付ファイル 画像ファイル(最大300KB)を添付可能