Edited at

春のズンドコ祭り Ruby vs Golang

More than 3 years have passed since last update.


Ruby使い(見習い)とGolang使い(見習い)で勝負です

vs 

  Ruby使い(見習い)       Golang使い(見習い)


評価基準(ちょう曖昧)


  • コードのバイト数が少ないこと

  • メモリ節約


Fight!!


Ruby


zundoko.rb

zds = []

loop.lazy.map{ ['ズン', 'ドコ'].sample }.each do |zd|
print zd
zds << zd
break if zds.last(5) == ["ズン", "ズン", "ズン", "ズン", "ドコ"]
end
print " キ・ヨ・シ!"


Go言語


zundoko.go

package main

import (
"fmt"
"math/rand"
"os"
"reflect"
"time"
)

func main() {
zun := "ズン"
doko := "ドコ"
answer := []string{zun, zun, zun, zun, doko}
zundoko := []string{zun, doko}
q := []string{}

for {
q = append(q, choice(zundoko))
if len(q) >= len(answer) {
say := q[len(q)-len(answer):]
fmt.Println(say)
sayKiyoshi(say, answer)
q = say
}
}
}

func choice(list []string) string {
rand.Seed(time.Now().UnixNano())
i := rand.Intn(len(list))
return list[i]
}

func sayKiyoshi(say []string, answer []string) {
if reflect.DeepEqual(say, answer) {
fmt.Println("キ・ヨ・シ!")
os.Exit(0)
}
}



結果(ちょう曖昧)

評価項目
winner

コードのバイト数が少ないこと 
Ruby

メモリ節約
Go?

評価項目がよくわからない感じになった。引き分けに落ち着いた。

評価項目、他に何がありますかね?