生成代码

class Random {
    
    random() {
        return Math.random();
    }

    uniform(a, b) {
        return Math.random() * (b - a) + a;
    }

    randint(a, b) {
        return Math.floor(Math.random() * (b - a + 1)) + a;
    }

    randrange(start, stop, step) {
        if (arguments.length == 2) {
            step = 1;
        }
        let length = (stop - start) / step;
        return Math.floor(Math.random() * length) * step + start;
    }

    choice(list) {
        let len = list.length;
        return list[Math.floor(Math.random() * len)];
    }

    shuffle(list) {
        let len = list.length;
        let i = len;
        while (i--) {
            let j = Math.floor(Math.random() * (i + 1));
            list[i] = [list[j], list[j] = list[i]][0]
        }
        return list;
    }

    sample(list, size) {
        let len = list.length;
        let result = [];
        for (let i = 0; i < size; i++) {
            result.push(list[Math.floor(Math.random() * len)]);
        }
        return result;
    }
}