[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:674) Re: listのシャッフル



>はい。どじでのろまな亀(爬虫類)です。

教官でつね。風間杜夫でつね。
将棋でいうと、「亀成り」でつね(笑)。
将棋かよ・・・

ちょっと書き直し。
大凶の後に大凶を引くような 、ちょっとした不幸な偶然を回避^^。

to list_Shuffle(my_list)
	copy my_list to tmp_list
	repeat with i from 2 to length of tmp_list
		set rand_num to (random number from 1 to i)
		set temp_item to item i of tmp_list
		set item i of tmp_list to item rand_num of tmp_list
		set item rand_num of tmp_list to temp_item
	end repeat
	if my_list is tmp_list then --偶然変化がなかった
		my list_Shuffle(my_list)
	else
		return tmp_list
	end if
end list_Shuffle