No Programming, No Life

プログラミング関連の話題や雑記

Groovyで文字をスクロール

発端

ゲンゾウ用ポストイット: groovyでフィボナッチ数列表示ロジック
リンク先にあったコードを見ていて、List#head(), List#tail()で遊べそうだなと思い、遊んでみました。

ソース*1

def str = '文字がスクロールするよ' as List
10.times {
  println str.join()
  str = str.tail() + str.head() // 頭をお尻へくっつける
}

結果


文字がスクロールするよ
字がスクロールするよ文
がスクロールするよ文字
スクロールするよ文字が
クロールするよ文字がス
ロールするよ文字がスク
ールするよ文字がスクロ
ルするよ文字がスクロー
するよ文字がスクロール
るよ文字がスクロールす

解説

as で文字列を List に強制型変換して、List#head(), List#tail()を使えるようにしています。また、str は List なんで、#join()して表示用に文字列に戻して出力しています。

*1:Groovy Version: 1.5.7 JVM: 1.6.0_10