回答編集履歴

6

出力の文字を正しくした

2018/02/19 10:57

投稿

y-doi
y-doi

スコア322

test CHANGED
@@ -18,12 +18,10 @@
18
18
 
19
19
 
20
20
 
21
- print "二人の相性は"
22
-
23
21
  seed = (name1 + name2).chars.map(&:ord).inject(:+)
24
22
 
25
23
  random_int = Random.new(seed).rand(1..10)
26
24
 
27
- puts "相性は#{random_int * 10}%です"
25
+ puts "二人の相性は#{random_int * 10}%です"
28
26
 
29
27
  ```

5

少し簡単にした

2018/02/19 10:57

投稿

y-doi
y-doi

スコア322

test CHANGED
@@ -16,9 +16,11 @@
16
16
 
17
17
  name2 = gets.chomp
18
18
 
19
+
20
+
19
21
  print "二人の相性は"
20
22
 
21
- seed = [name1.chars, name2.chars].flatten.map(&:ord).inject(:+)
23
+ seed = (name1 + name2).chars.map(&:ord).inject(:+)
22
24
 
23
25
  random_int = Random.new(seed).rand(1..10)
24
26
 

4

解説を追加、説明変数を追加

2018/02/19 10:54

投稿

y-doi
y-doi

スコア322

test CHANGED
@@ -1,3 +1,11 @@
1
+ `rand`は[Rubyでランダムな数値を得る方法](https://www.xmisao.com/2014/03/11/how-to-get-a-random-number-in-ruby.html)を参考にしました。
2
+
3
+
4
+
5
+ 文字を整数に変換するために、`hash`だと実行のたびに変わってしまったので、
6
+
7
+ `ord`で変換してみました。
8
+
1
9
  ```
2
10
 
3
11
  puts "あなたの名前を入力してください"
@@ -10,12 +18,10 @@
10
18
 
11
19
  print "二人の相性は"
12
20
 
13
- int = [name1, name2].map(&:ord).inject(:+)
21
+ seed = [name1.chars, name2.chars].flatten.map(&:ord).inject(:+)
14
22
 
23
+ random_int = Random.new(seed).rand(1..10)
24
+
15
- puts "相性は#{Random.new(int).rand(1..10) * 10}%です"
25
+ puts "相性は#{random_int * 10}%です"
16
26
 
17
27
  ```
18
-
19
- 参考
20
-
21
- https://www.xmisao.com/2014/03/11/how-to-get-a-random-number-in-ruby.html

3

参考を追記

2018/02/19 10:51

投稿

y-doi
y-doi

スコア322

test CHANGED
@@ -15,3 +15,7 @@
15
15
  puts "相性は#{Random.new(int).rand(1..10) * 10}%です"
16
16
 
17
17
  ```
18
+
19
+ 参考
20
+
21
+ https://www.xmisao.com/2014/03/11/how-to-get-a-random-number-in-ruby.html

2

ordの使い方

2018/02/19 10:40

投稿

y-doi
y-doi

スコア322

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  print "二人の相性は"
12
12
 
13
- int = [name1, name2].sort.join.ord
13
+ int = [name1, name2].map(&:ord).inject(:+)
14
14
 
15
15
  puts "相性は#{Random.new(int).rand(1..10) * 10}%です"
16
16
 

1

出力を変更

2018/02/19 10:35

投稿

y-doi
y-doi

スコア322

test CHANGED
@@ -12,6 +12,6 @@
12
12
 
13
13
  int = [name1, name2].sort.join.ord
14
14
 
15
- puts "#{Random.new(int).rand(1..10) * 10} %"
15
+ puts "相性は#{Random.new(int).rand(1..10) * 10}%です"
16
16
 
17
17
  ```