そこは to_i ではなく truncate と書くべきだと思う
つーか rand(list.size) で用済まないか