8/21　今日の学習内容　～Progate　Ruby基礎編　配列オブジェクトまで～

###**Progate**について簡単に
***


Progateは、簡単にいうと**web上でプログラミングが学べるサイト**ですね。

特徴としては**スライドを見て学習**を進めるところでしょうか(´-ω-`)

![progate screenshot.png](https://qiita-image-store.s3.amazonaws.com/0/137880/4bee2208-a0a3-2920-3415-0b949f987b6e.png)


一通り説明が終わると演習問題が出てくるので、すぐに使い方を練習できるというところも、
学習を進める上でありがたいところだと思いますね。


![progate screenshot2.png](https://qiita-image-store.s3.amazonaws.com/0/137880/553083e7-b318-b845-5406-474c8ea05717.png)

このように直接自分で書き込んで演習問題を進めていきます。

スライドを使って学習を進めるため、ドットインストールなどの動画学習に比べると**通信量が少なめ**ですから、外出中でテザリングをしているから動画学習はチョット...という方にオススメですね。




　
>Progate　http://prog-8.com/lessons 
↑無料会員と有料会員がありますが、無料会員でも「HTML初級編」「Ruby基礎編」など、**基礎レベルの8レッスン**を無料で学習できますので、使ってみることをオススメします(-ω-)/　
　
ドットインストール　http://dotinstall.com　
↑じゃんじゃん通信出来るよって方はこちらがオススメです(-ω-)/
**動画を使って**分かりやすく説明してくれています（しかも、cloud9などの**プログラミングに関するツール**の説明まであります！）




###**今日の学習内容**

***
今日は先ほど紹介させていただいたProgateを利用して学習しました。

私が学習していきたいものは**Ruby**と**Ruby on rails**なので、
今回は**Ruby基礎編**を利用していきたいと思います。
Ruby基礎編は「英単語当てゲーム」を作ることが目標に設定されています。

今日行ったレッスンの最後に**配列オブジェクト**というレッスンが出てきました。

私が以前、C言語を学習していたときに少し立ち止まってしまうことになったのも**配列**なのです(;´д｀)
プログラミング初学者の方の中には、私のように配列がいまいち分からないって方もいらっしゃるのではないでしょうか？

ということで、配列の説明をさせていただきます。



####**配列とはいったい何か？**
***
#####まず変数とは？


配列とはなにか？というお話をさせていただく前に、**変数**というものについて知っておく必要があります。
変数が何なのか分かっている方は「配列っていったい何者？」まで読み飛ばして進んでいただいてokです(-ω-)/
プログラミングに欠かせない要素ですので、プログラミング初学者の方は簡単にでいいので覚えていいていただければと思います。


　　　　　　　
ざっくりいうと、変数というのは~~データを入れておく箱~~**「Ruby の変数は，ネームタグや荷札」**のようなものなんですね。
（scivola様に指摘して頂きました。ご迷惑をお掛けしてしまい、申し訳ありませんでしたm(__)m）

例えばこの**文字列**は"Qiita"だというネームタグを付けておいたり、０だったり１だったりの**数字**にもネームタグを付けておくことができるわけですね。
![Image_0c79786.jpg](https://qiita-image-store.s3.amazonaws.com/0/137880/cf5066ce-2b7c-01cc-6de5-16ad3d27c558.jpeg)



Rubyで**”Qiita”**という文字列を**変数char**に代入（ネームタグを付ける）するには、

`char = "Qiita"`

と書きます。


数学と違い、プログラミングでの**＝は代入（ネームタグを付ける）**を表します。
はじめてプログラミングをされる方はこの違いに慣れてくださいね。

####配列っていったい何者？

さて、変数について軽く説明したわけですが、配列とは何者なのかを説明させていただきたいと思います。

さあ、これまたざっくりと言わせてもらいますと**複数の変数をまとめたもの**ですね。

こんな感じですかね↓

![Image_598b1b8.jpg](https://qiita-image-store.s3.amazonaws.com/0/137880/1be8182a-79f1-a65b-1cd2-68e5efeaeb14.jpeg)



**「いくつかのネームタグ（変数）の一つひとつをまとめて扱ったようなもの」**と捉えてもらえればよろしいかと思います(^^)/
~~（Progateさんには「仕切りのある箱のようなもの」とありました。イメージしやすい方で捉えていただければと思います(;'∀')）~~

####**配列の使い方**

私が今日学習したのは配列オブジェクトまでということで、学んだ配列オブジェクトの書き方について、復習もかねて少し説明させていただきます。

Rubyで配列オブジェクトを使うには
 
 `配列名　= [配列の要素１,配列の要素２,配列の要素３,・・・]`

という形になります。

　

ためしにbaseball,soccer,tennisの３っつの要素を含むsportsという名前の配列を作ってみますと...

`sports = [baseball,soccer,tennis]`

という書き方になるわけですね。

　


次に、画面に出力するputsメソッドを使って**配列sportsを出力**してみたいと思います(*'ω'*)ﾜｸﾜｸ
データを箱に入れるだけじゃなくて箱から出してみることも必要ですよね？

　
`puts sports[1]`

と入力すると

`soccer`

と表示されます。


　　
　
あれ？１番目はbaseballじゃ...？
なんで１がsoccerなの？ってなりますよね？


これは配列の要素を呼び出すインデックス番号というものが**０から始まる**ことが原因なのです。
なので、baseballを出力しようと思うと

`puts sports[0]`

とする必要があるのです。




　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　
####あとがき
***
配列の書き方と要素の呼び出し方について、プログラミング初学者の方やプログラミングを始めたばかりの方に少しでも伝わりやすくと思いながら説明させていただきました(*- -)(*_ _)ペコリ
駄文ですが、**配列の書き方と要素の呼び出し方**について理解していただけましたでしょうか？
少しでも学習のお力添えができたらと思います。


さて、次回はProgate　Ruby基礎編を進めていきたいと思います。
実際につまづいたところや分かりづらかったことなどを書いていきたいと思います(-ω-)/
ここまで読んでいただきありがとうございましたm(__)m

8/21　変数の説明を修正しました。

Rubyにおける変数についての認識に誤りがございました。
誤った情報を発信してしまい、誠に申し訳ありませんでしたm(__)m

指摘して下さったscivola様、本当にありがとうございました(*- -)(*_ _)ペコリ
　
　
####参考にさせていただいたサイト
***
Progate　http://prog-8.com/lessons