2017-06-23 16 views
-3

2つの変数の間でRubyを選択する方法はありますか?たとえば、Rubyが「Dog」または「Cat」のいずれかをランダムに出力したかったとします。Rubyで2つの変数をランダムに選択する方法は?

+0

ドキュメント:[ランダム](https://ruby-doc.org/core-2.2.0/Random.html)。 –

+0

2つの*変数*の中から選択しますか?または2つの文字列ですか? –

+0

私は "random_name"と呼ばれる方法を使用して2つの変数でした –

答えて

6

これには簡単にsampleを使用できます。

あなたは、配列で作業している場合:

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

次の2つの変数の間で選択する場合:

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

あなたはのでdocumentation

+1

なぜブール値の配列は、直接そこに変数を置くことができますか? –

+0

@SergioTulentsev良い点!かわった。 – nbokmans

+0

今、あなたの2つのスニペットの違いは何ですか? :) –

0

にサンプルについての詳細を読むことができますあなたは2つの変数のどちらかを選択したいと言っていましたが、私はあなたが意味すると思います:

dog = "Dog" 
cat = "Cat" 
[dog, cat].sample 
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" 
関連する問題