最近Pythonって便利だなーと思っています。
社内の定例ミーティングで話す人の順番をランダムにするために適当に作ってみました。
python
import random
list = ['Aさん','Bさん','Cさん','Dさん','Eさん','Fさん','Gさん','Hさん']
random.shuffle(list)
for (i,s) in enumerate(list):
print("{}: {}".format(i+1,s))
出力結果
1: Fさん
2: Hさん
3: Aさん
4: Cさん
5: Gさん
6: Bさん
7: Eさん
8: Dさん
皆さんがお得意な言語だとどんな書きっぷりになるんでしょうか? 社内のナレッジサイトで募集したところ次のような回答がありましたので紹介させて頂きます。
CoffeeScript
coffee> list = ['Aさん','Bさん','Cさん','Dさん','Eさん','Fさん','Gさん','Hさん']
[ 'Aさん', 'Bさん', 'Cさん', 'Dさん', 'Eさん', 'Fさん', 'Gさん', 'Hさん' ]
------> goodShuffle = (arr) ->
....... i = undefined
....... j = undefined
....... temp = undefined
....... arr = arr.slice()
....... i = arr.length
....... if i == 0
....... return arr
....... while --i
....... j = Math.floor(Math.random() * (i + 1))
....... temp = arr[i]
....... arr[i] = arr[j]
....... arr[j] = temp
....... arr
[Function]
coffee> goodShuffle(list).forEach (i,idx)-> console.log idx + 1 + ": " + i
1: Dさん
2: Aさん
3: Hさん
4: Fさん
5: Gさん
6: Bさん
7: Cさん
8: Eさん
undefined
coffee>
Linuxコマンド
$ echo A > user.txt
$ echo B >> user.txt
$ echo C >> user.txt
...(略)...
$ sort -R user.txt | nl
結果
1 A
2 H
3 B
4 C
5 E
6 D
7 G
8 F
Ruby
list = ['Aさん','Bさん','Cさん','Dさん','Eさん','Fさん','Gさん','Hさん']
shuffled_list = list.shuffle
shuffled_list.each_with_index {|name, i| puts "#{i + 1}: #{name}" }
出力結果
1 A
2 H
3 B
4 C
5 E
6 D
7 G
8 F
近藤 圭太
酒好き。 貝類、特に牡蠣に目がない。
釣り始めました。