@fumokmm @kimukou_26 @xnrghzjh あー、shuffleってメソッドがあるんですねー。Dateのレンジからコレクションにするところまでは書いていたんですけど、そこからどうしていいかわからなかったですw
2011-06-09 19:15:12@kyon_mm @kimukou_26 @xnrghzjh shuffleはJava標準なんですが、便利なんで私はよく使ってます。一回シャッフルしとけば、順繰りに取得してもランダムになりますねそういえば。
2011-06-09 22:01:19@fumokmm あれ?@ky0takaさんがGroovyDice使った例Gistに上げてませんでしたっけ? それ使えます? RT @kyon_mm @xnrghzjh shuffleはJava標準。一回シャッフルしとけば、順繰りに取得してもランダムになりますねそういえば。
2011-06-09 22:28:01@fumokmm @kyon_mm @xnrghzjh これでしたね@ky0taka さんが書いた奴 https://gist.github.com/951698
2011-06-09 22:38:41@kimukou_26 @ky0taka @kyon_mm @xnrghzjh GroovyDiceは私は使ったことないんでよくらからないです!すいません。
2011-06-09 22:35:46当初の面影が残っていない、もう何がなんだか... そしてJodaTimeが要らなくなっている。 勉強になります。 QT @fumokmm @kimukou_26 @kyon_mm metaClass版 http://goo.gl/oLMNn
2011-06-09 23:56:07となると @kyon_mm さんのコードは重複あり版 @fumokmm さんのコードは重複無し版として使い分けが出来るということになるわけか、前者はパチンコ的なものに、後者はトランプ的なものに。
2011-06-10 00:12:40最終的にこうなった2
// 範囲内ランダム
ObjectRange.metaClass.randomeChoice = {
delegate.toList().with {
Collections.shuffle(it); it
}.head()
}
// 変換
def toDate = { Date.parse('yyyy-MM-dd', it) }
def toDateStr = { it.format('yyyy-MM-dd') }
// 日付の範囲
def dateRange = toDate('1978-09-30')..toDate('2011-10-10')
// デモ!
5.times { println toDateStr(dateRange.randomeChoice()) }