2015年4月30日

Rubyメモ:メソッド定義の作り方

via:プロゲート

≫def メソッド名(引数1、引数2、...) 処理 end
 ≫メソッドは最後に評価された値を戻り値として返します。
 ≫returnを使うと、returnが呼ばれた場所で関数の処理を停止し、「return 値」の「値」を戻り値とします。



Rubyメモ:eachメソッド

via:プロゲート
配列オブジェクト .each do |変数|
ハッシュオブジェクト .each do |キー変数, 値変数|


いまだに#{変数}が慣れない。あと引数を使うの苦手。

Rubyメモ:for文とwhile文

via:プロゲート
≫「in」の前に変数、「in」の後に繰り返す範囲を指定すると、その範囲の数値が順に変数に代入され、処理が繰り返し実行されます。 図の例では、「puts 1」,「puts 2」...「puts 100」のように1から100までの数字が順に変数iに代入されます。

via:プロゲート
≫条件式を指定し、それがtrueの間、処理が繰り返し実行されます。 for文の時のように変数iが自動的に増えていかないため、ここではループのたびに「i += 1」を行っています。

via:プロゲート
≫ break文は現在のループを強制的に中断する命令です。break文はif文と組み合わせて利用するのが一般的です。

≫ループそのものを完全に抜けてしまうbreakに対して、nextは現在の周だけをスキップし、ループそのものは継続して実行します。

Rubyメモ:ダブルクオーテーションではなくシンボル

≫文字列を「"」や「'」で囲む代わりに頭に「:」をつけたものをシンボルといいます。

文末セミコロンを無くして、「"」の代替にセミコロンが使える。 そういうニーズがあったのかな。

via:プロゲート
≫シンボルを用いることで、ハッシュをよりシンプルに書くことができます。 また、シンボルをキーとして用いるときの特別な記法として、 「:key => :value」 を「key: :value」と書くことができます。

セミコロンを連続入力した方が早いし、打ち間違いが少なくなりますね。

Rubyメモ:配列とハッシュ

via:プロゲート
配列名 = [ データ1, データ2, データ3・・・]
インデックス番号は順番


sizeメソッド:配列要素数
pushメソッド:要素を末尾に追加

via:プロゲート
≫ハッシュとは配列と同じく複数のデータをまとめて管理することが出来るオブジェクトです。



Rubyハッシュ=PHPの連想配列

≫配列との違いは、個々の要素を管理するのにインデックス番号ではなく、キーと呼ばれる文字列などの値を指定することができる点です。



ハッシュ名["キー"]で値を取り出せる。

Rubyメモ:if文とUnless文

via:プロゲート

≫「もし〜でなければ・・・」というように、条件が「偽」のときに処理が行われます。

≫「!」も論理演算子の1つであり、条件の否定ができます。 式が「真」であれば「偽」に、「偽」であれば「真」になります。

≫if 文の else が必要なく、1行で記述できる場合は、「処理 if 条件式」のようにif文を1行で書くこともできます。

Rubyメモ:条件分岐 「if ~ elsif ~ else ~ end」 「case~ when~ else~ end」

via:プロゲート
「elseif」ではなく「elsif」という罠wここを気付くのに時間がかかったよ。

via:プロゲート

≫if,elsifによる分岐が多く複雑な場合、case文で書き換えるとシンプルで読みやすいコードにできます。 caseの値とwhenの値が一致したとき、そのブロックが実行されます。whenのどれにも一致しなかった時、elseのブロックが実行されます。

最後のelseは入れないとダメなのかな。

Rubyメモ:真偽値を返すemptyメソッド

via:プロゲート

≫empty?メソッドはオブジェクトが空の文字列であれば「true」、空でなければ「false」を返すのでif文などの条件式に使うことができます。 真偽値を返すメソッドにはRubyの慣習として「?」がついています。

入力判定で使うんですね。

Rubyメモ:入力値をゲッツ!!

via:プロゲート
≫getsメソッドを使うと、キーボードからの入力を受け取ることができます。 getsメソッドが呼ばれると、コードの読み込みがそこで一度停止し、入力が終わると、続きから読み込みが再開されます。

Rubyメモ:変数

Ruby 変数
Ruby 変数
via:プロゲート

≫ダブルクォート「"」で囲んだ場合は、図のように「#{変数}」とするとその部分が変数に入っている値で置き換えられます。(変数展開) シングルクォート「'」ではこのような変数展開はできず、変数はそのまま文字列としてみなされます。

Ruby本を注文

≫クチコミの取得や、企業・株価情報、為替情報・金融指標の取得といったものまで、 さまざまな情報を収集する自分なりのクローラーが作成ができます。

ここまでいけるかな。

----------------------------------------------------------
【以下は保留】

2015年4月5日

Rubyでは行末のセミコロンはいらない

http://prog-8.com/

PHPが終わりRubyへ。echoがputsも少しとまどった(英語ならsayでいいだろ)が、行末のセミコロンが要らないことに驚いた。確かに無駄だよなっと。