回答編集履歴
2
テキスト追加
answer
CHANGED
@@ -4,12 +4,15 @@
|
|
4
4
|
|
5
5
|
**ある配列 ary のインデクス n の位置からm 個を 値 x で上書きする。**
|
6
6
|
|
7
|
-
ためには、以下のように書くとよいです。
|
7
|
+
ためには、以下のように書くとよいです。(もしかしたら他のより良い書き方があるかもしれませんが)
|
8
8
|
|
9
9
|
```ruby
|
10
10
|
ary[n, m] = Array.new(m, x)
|
11
11
|
```
|
12
12
|
|
13
|
+
参考: [Rubyリファレンス:[]= (Array)](https://ref.xaio.jp/ruby/classes/array/element_assign)
|
14
|
+
|
15
|
+
|
13
16
|
以下は、上記の例です。
|
14
17
|
|
15
18
|
```ruby
|
@@ -21,4 +24,21 @@
|
|
21
24
|
ary[3, 4] = Array.new(4, 999)
|
22
25
|
|
23
26
|
p ary # => [0, 1, 2, 999, 999, 999, 999, 7, 8, 9]
|
24
|
-
```
|
27
|
+
```
|
28
|
+
|
29
|
+
上記にそって、ご質問にある
|
30
|
+
```ruby
|
31
|
+
chairs[f_chair,cnt].map{|c| c = true} <--ここに問題あり
|
32
|
+
```
|
33
|
+
の部分を
|
34
|
+
```ruby
|
35
|
+
chairs[f_chair,cnt] = Array.new(cnt, true)
|
36
|
+
```
|
37
|
+
|
38
|
+
とすれば、(実際に動かして試してはいませんが)とりあえず、
|
39
|
+
|
40
|
+
> 着席番にtrueをいれたいのですがtrueになりません。
|
41
|
+
|
42
|
+
という問題は解決するかと思います。
|
43
|
+
|
44
|
+
以上参考になれば幸いです。
|
1
テキスト追加
answer
CHANGED
@@ -8,4 +8,17 @@
|
|
8
8
|
|
9
9
|
```ruby
|
10
10
|
ary[n, m] = Array.new(m, x)
|
11
|
+
```
|
12
|
+
|
13
|
+
以下は、上記の例です。
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
ary = Array.new(10) { |i| i }
|
17
|
+
|
18
|
+
p ary # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
19
|
+
|
20
|
+
# インデクス 3 の位置から、4 個の要素を 999 にする。
|
21
|
+
ary[3, 4] = Array.new(4, 999)
|
22
|
+
|
23
|
+
p ary # => [0, 1, 2, 999, 999, 999, 999, 7, 8, 9]
|
11
24
|
```
|