今日のお勉強。180224-Rubyの基本

Rubyの基本。180224

今日は「Rubyの基本」の、「クラスの概念」の 定数 から、「モジュール」まで学習しました。 

 

 

モジュール

部品みたいなもの。

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典-モジュール

 

module_function関数

外部から呼び出せるようにするために、module_functionを使う。らしい

【Ruby入門】モジュール(module)とMix-in

【一人 Ruby Advent Calendar 2017】module_function について【17日目】 - Secret Garden(Instrumental)

 

private

クラスの外からは呼び出せない、クラスの中でのみ使えるメソッド

 

public

クラスの外部から呼び出せるメソッド

 

スーパークラス

親クラス

サブクラスが親クラスのものを書き換えようとすると、書き換わらず、追加する形になるらしい。(オーバーライド)

 

サブクラス

子クラス

 

 

実際webサービスなどでオブジェクト指向ってどう使われてるのか、

どうゆう作りになってるのか、まだ分かりませんが、

学習進めるにつれ、オブジェクト指向の便利さがわかってくるのが楽しいです。

 

 

 

次回は「Ruby入門」の標準ライブラリから学習です。

 

 

 

今日のお勉強。180221-Rubyの基本

Rubyの基本。180221

 今日は、「Ruby入門」 の、「クラスの概念」 の アクセスメソッド まで学習しました。

 

クラスの概念

設計図みたいで、とても便利そうだと思いました。 

f:id:nashiko_chan:20180222014421p:plain

引用:インスタンスメソッド - クラスの概念 - Ruby入門

 

こんな感じでイメージしながら学習しております。

 

 

・変数は@から始まる。そして、定義する場合は変数名の前に @@ と、二つになるらしい。

【まとめ】インスタンス変数、クラス変数、クラスインスタンス変数 - Qiita

 

initalizeメソッド

設計図(クラス)を元にした実体がインスタンスらしい。

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典「インスタンス」

クラスとインスタンスの違い - Qiita

 

ローカル変数

プログラムの一部分でしか使うことができない変数。逆にどこでも使える変数は、グローバル変数と言う。

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典「ローカル変数・グローバル変数」

 

 

・initalizeメソッドは、newメソッドが呼び出された時に呼び出すらしい。

 【Ruby入門】classのnewとinitializeについてまとめ

 

 

 

 

 

今日のお勉強。180218-Rubyの基本

Rubyの基本。180218

今日は「Ruby入門」ハッシュ の「Hashクラス」から、メソッド まで学習しました。

 

ハッシュ

 ハッシュのところがあまりピンとこなくて、チェリー先生などで調べたりしました。

f:id:nashiko_chan:20180129001354j:plain

「ハッシュはキーと値の組み合わせでデータを管理するオブジェクト」

「ほかの言語では、連想配列と呼ばれたりする」

 

と書いてあって、目から鱗でした!なるほど!

ハッシュは連想配列。と、覚えました。

 

あとは、

「細切れにして何かしらの値を取り出す関数」

だそうです。

「ハッシュ」ってどんな意味? - Qiita

 

メソッド

 まるでjavascriptの関数のような雰囲気を感じました。

 

チェリー先生によると、

オブジェクトが持つ、動作・振る舞いをメソッドと呼びます。

要するに何かの処理をひとまとめにして名前をつけ、何度も再利用できるようにしたものです。他の言語だと「関数」をイメージしてもらえばok

 おお…!関数でほぼ大丈夫なのですね…!

 

 

 

 次回は Ruby入門 の「クラスとモジュール」です。

(^o^)/

 

 

 

 

今日のお勉強。180215-Rubyの基本

Rubyの基本。180215

今日は「Ruby入門」配列 の「配列のサイズの取得と新しい要素の追加」から ハッシュ の「値の取得」まで学習しました。

 

nitemsメソッドが廃止されたのに気づくまで時間かかった。

 配列のサイズの取得と新しい要素の追加 のところですが、

サンプルプログラムに、ntimesメソッドを使うと、

undefined method `nitems' for ["red", "blue", "green"]:Array (NoMethodError)

というエラーが表示されました。

 

 サンプルプログラムをコピペして実行してもダメで、今日はその単元のサンプルプログラムに時間がかかってしまいました。

(>_<;)

 

しばらく調べてみると、

nitems (Array) - Rubyリファレンス

というページに、

「nitemsメソッドはRuby 1.9で廃止されました。」

「同じことをしたいときはcountメソッドを使って

arr.count {|item| !item.nil? }

のようにしてください。」

 

 

と、書いてありました…!

 

そういえばphp勉強してた時もバージョンによっては非推奨のエラーが出てくる関数とかあったのを思い出しました。

 

他参考

Ruby のエラーメッセージを読み解く(初心者向け)その 2 - Qiita

 

 

ハッシュ

たぶん世界一わかりやすい ハッシュ(Hash)の説明

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 

「ハッシュ」を解決してRuby初心者の壁を超えよう! | TECH::NOTE | プログラミングをはじめる全ての人に

 

ハッシュとは、入れたら出てきた数字、というイメージをしております。

 

そういえば、SNSハッシュタグとかありますよね!

 (^_^)

 

 

 

今日のお勉強。180212-Rubyの基本

Rubyの基本。180212

今日は、 Ruby入門 の、

繰り返しの「timesメソッド、uptoメソッド、downtoメソッド」から、

配列の「要素へのオブジェクトの代入」まで学習しました。

 

nextredo の違いがピンとこないけど、

next は処理をスキップしてすっ飛ばす。(中断して次の処理へ)

redo は、最初からやり直し。(繰り返し処理の最初に戻る。)

という違いがあるそうです。

 

 

while は、繰り返し文に使う以外にも、式修飾子の時は真偽の真の時に実行する式として使用されることがわかりました。

 

 

object_id とは、オブジェクトのIDを返します。一度生成されたら不変のものだそうです。

オブジェクトのマイナンバー〜Rubyのobject_idを調べてみた - Qiita

 

 

 

今日のお勉強。180209-Rubyの基本

Rubyの基本。180209

今日はRuby入門の、

条件分岐の、「論理演算子」から

条件分岐 - Ruby入門

 

繰り返し文の、「eachメゾッド」まで進めました。

繰り返し - Ruby入門

 

 

条件分岐は、複数分岐させる時は

if 〜〜 

elsif 〜〜

elsif 〜〜

els

と、記述させるか、case文を使うかですが、分岐が多い場合はcase文使った方がわかりやすそうな気がしました。

 

 

そして、繰り返し文にも色々あるのですね。

for

while

each

until

などなど。

 

範囲オブジェクトでは、「..」「...」は違うことがわかりました。

「..」は最初の数から最後の数まで

「...」は最初の数から数えるけど、最後の数は数えない。最後の数の一つ手前まで。

 

ピリオドの数が違うだけで意味が変わるのですね。

 

 

条件分岐はまだわかりやすいですが、繰り返し文は苦手意識が少しあるため、慣れていけるように頑張ります。

 

  

 

今日のお勉強。180206-Rubyの基本

Rubyの基本。180206

条件分岐 - Ruby入門

の、「関係演算子」まで学習しました。

 

 

学んだこと

・null(空値)が、rubyだとnilになるのですね。 

 

 

・変数1, 変数2, 変数3, ..... = "変数1の中身", "変数2の中身", "変数3の中身", .....

と、まとめて代入する方法もある。 

連想配列とは |「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

【Ruby】配列とハッシュの基本的な使い方 - TASK NOTES

 

 

・関係演算子のところですが、if文で > や < を使って比較するのは数字だけでなく、英語の大文字と小文字も比較して、大きい小さい判断されるんですね。大文字の方が大きいとされてるそうです。

関係演算子 - 条件分岐 - Ruby入門

 

 

・定数とは、変数と異なり、宣言時に決めた値をコードの中で後から変更することができない。らしい。

プログラミングにおける「定数」とは?変数との違いを分かりやすく解説するよ! | 衣食住よりプログラミング

定数ってどう管理するのが良いかね - Corredor

 

 

・定数と変数を区別するために、名前つけるときは、ルールがあるらしい。

 

定数なら

GREEN_TEA

BLUE

Orange

など、最初の一文字目は大文字。

 

変数なら、

dog

_bird

flower

など最初の一文字目は小文字orアンダーバー。

 

 

ルール色々あるのですね。

(>_<)