あしあと

明日の自分への情報発信

Rubyの学習(3日目)とLinuxの学習(8日目)とプロになるためのweb技術入門(6日目)

今日も一日頑張るぞい

 

 

シンボルとは

シンボルとはハッシュで使ったキー"xx"に対して:(コロン)xxとしたもの

厳密にはハッシュとは違うが同じように使われることが多い。

f:id:keropp1234:20200110181234p:plain

 

キーがシンボルのハッシュの省略

 完全にJavaスクリプトにおけるオブジェクト(プロパティ:値)と同じである

f:id:keropp1234:20200110181659p:plain

 

ハッシュの表記をまとめると以下の通り

f:id:keropp1234:20200110181807p:plain

 

nilについて

Rubyでは存在しないキーを指定した場合、何も出力されない。そのことを「nil」という。またif文でnilが存在すると、if文はそれをfalseとして処理する。

f:id:keropp1234:20200110182622p:plain

 

配列の要素にハッシュを入れる

f:id:keropp1234:20200110182756p:plain

 

配列なので当然インデックスで呼び出せる。

f:id:keropp1234:20200110183003p:plain


ハッシュを変数に代入することもできる

f:id:keropp1234:20200110183313p:plain

そして簡単に一行で出力する方法もある

f:id:keropp1234:20200110183335p:plain

 

ハッシュ値の配列も繰り返し処理できる

f:id:keropp1234:20200110195911p:plain

 

特定のキーをputs 変数名[:キー]で出力することもできる

f:id:keropp1234:20200110195941p:plain

if文でもendをちゃんと指定すること。

f:id:keropp1234:20200110195758p:plain

 

メソッド

メソッドとは複数の処理をまとめたものである。下の画像では挨拶をする、と名前を言う、をintroduceとしてまとめたのがそれになる。

f:id:keropp1234:20200110200156p:plain

 

メソッドは「def メソッド名で初めてendで閉じる」ことで処理することができる。ちなみに処理を実行するにはendの後にメソッドを書かないと呼び出しできない。

f:id:keropp1234:20200110200421p:plain

 

引数

引数とはメソッドに与える追加情報のようなもの。

def メソッド(引数)として、end後にメソッド(引数)として呼び出すと、メソッド内で引数が変数のように扱えるようになる。呼び出すときの引数には""で囲って文字列にすること。

f:id:keropp1234:20200110201040p:plain

 

複数の引数を受け取る。

複数の引数を受け取るときは()内に,を使って並べる。呼び出しの時も同様に,を用いる。呼び出しのほうに代入したい情報を打ち込むこと!!!!(間違い多すぎ!!!)

f:id:keropp1234:20200110205333p:plain

 

戻り値

戻り値とはメソッドの呼び出しもとで処理結果を受け取ること。画像で言えば7+3を渡して返ってきた10が戻り値になる。

f:id:keropp1234:20200110205929g:plain

 

戻り値(return 値)がある時、下の画像のように呼び出しもとに値が戻る

さらに変数に代入することもできる。puts sumで4が出力されている。

f:id:keropp1234:20200110210105p:plain


下の画像で言えば、15000の引数がreturnで1/2にされ、戻ってきて7500になっており、それがhalf_priceに代入されている。

f:id:keropp1234:20200110210456p:plain

 

戻り値と真偽値

returnに条件式を組み合わせることで真偽値を戻り値をすることができる。

この時真偽値を処理するときはメソッドに?をつけるのが慣習である。

f:id:keropp1234:20200110210719p:plain

if文と条件式とメソッドの組み合わせは以下のようにif の右側にメソッドを置いて処理する。

f:id:keropp1234:20200110211304p:plain

 

returnは戻り値を返すだけでなく、メソッド内の処理を終了させる性質も持つ。

f:id:keropp1234:20200110212154p:plain

 

しかしreturnが処理しなければメソッド内の処理は終了しないので、以下のようにif文を使えばメソッド内に複数のreturnを使うことができる。f:id:keropp1234:20200110212211p:plain

 

キーワード引数

複数の引数がある場合、ただ呼び出すだけだとどの値がどの引数に入るのかわかりにくい。そのため、呼び出すときに引数名を併記する方法もある。

f:id:keropp1234:20200110212636p:plain

 

具体的にはメソッドの引数の後ろに:(コロン)をつけて、呼び出し側では値の前に引数名を書く

f:id:keropp1234:20200110212955p:plain

 

Linux

印象に残った言葉のメモ

doとdoneはセット

Doneがでdoという実行が終了する。

 

``で囲うことで一つの文字列になるので、for x in `seq 1  10`; do echo $x; done

で1から10 というのがシェルで認識できるようになる

 

ワンライナーは即興のプログラムであり、どんどん使い捨てして良い。いいLinuxユーザーはこのワンライナーを作っては捨てを繰り返し、サクサクと問題を解決していく。

 

web

今日は1ページだけ読みました!!