こんにちは、私は月の名前のリストを持っています。特定の月から始まり、たとえば6月(6月)から1月に向かって逆方向にリストをループしたいと思います。
MonthList ={"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
//total number of months
nMonths = N Items (MonthList);
//initialize list of selected months
ElevenMo = {};
For (i = 6, i <= 11, i -= 1,
If (i >= 1, Continue () );
nextMonth = MonthList[i];
Insert Into (ElevenMo, nextMonth[i]),
);基本はあると思いますが、ループは無限ループになり続けます。修正方法についてアドバイスをいただければ幸いです。 はい、ある時点でループは12月に戻らなければなりませんが、それは別の戦いになります。
これを行う2つの方法があります.......私はあなたが開始したい月の名前から開始値を決定する機能を追加する自由を取りました。どちらの例でも同じ結果が得られます
Names Default To Here( 1 );
MonthList = {"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"};
//total number of months
nMonths = N Items( MonthList );
targetMonth = "June";
startMonth = contains( MonthList, targetMonth );
//initialize list of selected months
ElevenMo = {};
For( i = startMonth, i >= 1, i--,
Insert Into( ElevenMo, MonthList[i] );,
);
Names Default To Here( 1 );
MonthList = {"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"};
//total number of months
nMonths = N Items( MonthList );
targetMonth = "June";
startMonth = contains( MonthList, targetMonth );
ElevenMo = MonthList[1::startMonth]