如何在Ruby中随机选择两个变量?

时间:2017-06-23 17:33:32

标签: ruby

如何制作一个方法让Ruby在两个变量之间进行选择?例如,我想让Ruby随机输出" Dog"或者" Cat"

4 个答案:

答案 0 :(得分:7)

您可以轻松使用sample

如果你正在使用数组:

myArray = ["Cat", "Dog", "Turtle"]
puts myArray.sample

如果要在两个变量之间进行选择:

cat = "Cat"
dog = "Dog"
puts [cat, dog].sample

您可以在documentation

中详细了解示例

答案 1 :(得分:0)

既然你说你想在两个变量之间做出选择,这就是我的意思:

dog = "Dog"
cat = "Cat"
[dog, cat].sample

答案 2 :(得分:0)

对随机数使用三元条件。

z = 'Milwaukee'
y = 'Chicago'
10.times {|x| puts rand(2) == 1 ? z : y}

答案 3 :(得分:0)

您可以使用eval或sample数组方法,请查看以下示例。

arr = [dog="dog", cat="cat", turtle="turtle"]

## OUTPUT

2.2.1 :015 > dog
 => "dog" 
2.2.1 :016 > cat
 => "cat" 
2.2.1 :017 > turtle
 => "turtle"

## Using eval with sample

2.2.1 :018 > eval(arr.sample)
 => "dog" 
2.2.1 :019 > eval(arr.sample)
 => "cat" 
2.2.1 :020 > eval(arr.sample)
 => "turtle"

## OR (using sample)

2.2.1 :021 > arr.sample
 => "dog" 
2.2.1 :022 > arr.sample
 => "turtle" 
2.2.1 :023 > arr.sample
 => "cat"