Rubyの配列をJavaみたく0で初期化つまり、デフォルト値を0にする

Javaの写経をしてる際に考えた。
Rubyも0で初期化できるのではないかと。

やってみた。

通常はnilで埋まる。

[new (Array) - Rubyリファレンス]
(https://ref.xaio.jp/ruby/classes/array/new)

>引数sizeには配列のサイズ（要素数）を整数で指定できます。sizeを指定しなければ、空の配列になります。第2引数objを指定すると、新しい配列をそのオブジェクトで埋めます。第2引数を指定しないときはnilで埋めます。

きっかけはこのサイトだった。

[[Ruby]配列のデフォルト値を0にする | Informatics Finder]
(http://frsw.net/blog/ruby%E9%85%8D%E5%88%97%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E5%80%A4%E3%82%920%E3%81%AB%E3%81%99%E3%82%8B/)
> 
どうもこんにちは，Rubyを使っていてハッシュみたいにある要素にアクセスしたときに値が存在しない場合のデフォルト値を設定できれば嬉しいなと思っていたのですが，どうもそういう機能がないようなので，0に初期化する方法を見つけました。

##Java
```
import java.util.*;

public class Main {
    public static void main(String[] args) {
    int[] a = new int[5];
        
    a[1] = 37;
    a[2] = 51;
    a[4] = a[1] * 2;
    
    System.out.println(a[0]);
    System.out.println(a[1]);
    System.out.println(a[2]);
    System.out.println(a[3]);
    System.out.println(a[4]);
    }
}
//#=>
/*
0
37
51
0
74
*/
```
写経したのは、
[新・明解Java入門 | 柴田 望洋 | プログラミング | Kindleストア | Amazon]
(https://www.amazon.co.jp/%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3Java%E5%85%A5%E9%96%80-%E6%9F%B4%E7%94%B0-%E6%9C%9B%E6%B4%8B-ebook/dp/B01HYSUY92)
> 新・明解Java入門

複数行コメントの書き方を忘れていた。
[【Java】コメントの種類と書き方 - Qiita]
(https://qiita.com/mtanabe/items/2e52e6e162d28df8437f)
>
複数行コメントの書き方
/*
* 先頭のアスタリスクは１つ
* comment
*/"

##Ruby
```
a = Array.new(5,0)

a[1]=37
a[2]=51;
a[4]=a[1]*2

p a[0]
p a[1]
p a[2]
p a[3]
p a[4]
#=>
__END__
0
37
51
0
74
```
もう一つ

```
p Array.new(5) {|i| i = 0}
 
 #=> [0, 0, 0, 0, 0]
```

[Can I create an array in Ruby with default values? - Stack Overflow]
(https://stackoverflow.com/questions/5324654/can-i-create-an-array-in-ruby-with-default-values)
>
Not auto extended, but initialized to the specified length with a default value:

```
>> Array.new(123, 0)  
=> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
```

[Ruby Arrayの初期化はデフォルトバリューでオブジェクトを入れないよう気をつけて。 · shunsuke227ono/pelican Wiki]
(https://github.com/shunsuke227ono/pelican/wiki/Ruby-Array%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AF%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%83%90%E3%83%AA%E3%83%A5%E3%83%BC%E3%81%A7%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E5%85%A5%E3%82%8C%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E6%B0%97%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%80%82)
>
```
a = Array.new(3, 0) # [0,0,0]
```

[Ruby 配列 - Qiita]
(https://qiita.com/Shimba/items/24c70f4a176d2b731e95)

>
```
Array.new(5) {|i| i * 3}
 => [0, 3, 6, 9, 12]"
```

# 参考

- [new (Array) - Rubyリファレンス]
(https://ref.xaio.jp/ruby/classes/array/new)

- [[Ruby]配列のデフォルト値を0にする | Informatics Finder]
(http://frsw.net/blog/ruby%E9%85%8D%E5%88%97%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E5%80%A4%E3%82%920%E3%81%AB%E3%81%99%E3%82%8B/)

- [新・明解Java入門 | 柴田 望洋 | プログラミング | Kindleストア | Amazon]
(https://www.amazon.co.jp/%E6%96%B0%E3%83%BB%E6%98%8E%E8%A7%A3Java%E5%85%A5%E9%96%80-%E6%9F%B4%E7%94%B0-%E6%9C%9B%E6%B4%8B-ebook/dp/B01HYSUY92)

- [【Java】コメントの種類と書き方 - Qiita]
(https://qiita.com/mtanabe/items/2e52e6e162d28df8437f)

- [Can I create an array in Ruby with default values? - Stack Overflow]
(https://stackoverflow.com/questions/5324654/can-i-create-an-array-in-ruby-with-default-values)

- [Ruby Arrayの初期化はデフォルトバリューでオブジェクトを入れないよう気をつけて。 · shunsuke227ono/pelican Wiki]
(https://github.com/shunsuke227ono/pelican/wiki/Ruby-Array%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%AF%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%83%90%E3%83%AA%E3%83%A5%E3%83%BC%E3%81%A7%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E5%85%A5%E3%82%8C%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E6%B0%97%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%80%82)

- [Ruby 配列 - Qiita]
(https://qiita.com/Shimba/items/24c70f4a176d2b731e95)

# 次にやること

Javaの配列