我有此代码:
letsdoit(something,'abcd');
letsdoit(something,'asdfasdf');
letsdoit(something,'gagaga');
如果可能的话,我希望它只是简单的一行,就像这样的逻辑:
(letsdoit(something,'abcd')) OR (letsdoit(something,'asdfasdf')) OR (letsdoit(something,'gagaga'));
因此,它有33%的机会选择三个。或者:
(letsdoit(something,'abcd')) OR (letsdoit(something,'asdfasdf'))
因此它有50%的机会选择左边的东西或50%的机会选择右边的东西。
我的问题是:
如何在三者之间随机分配并且只做一件事。
如何在两件事之间随机分配并且只能做一件事。
答案 0 :(得分:6)
function RandomChooseString(const A: array of string): string;
begin
Result := A[Random(Length(A))]
end;
letsdoit(something, RandomChooseString(['aaa', 'bbb', 'ccc']));