繰り返し 分岐 ハッシュ


スポンサーリンク

最近、勉強のモチベーションが低いかもしれない。
勉強の集中力が足りない。
そういうときは楽しいことをするに限る。
そして、プログラマーにとって「たのしいこと」はRubyである。

プログラマーが楽しく書けるように開発されたというだけあって、Rubyは使うと楽しい幸せな気分になれる。こんなプログラミング言語は初めて出会った。
そしてこの「たのしい Ruby」はプログラミングを楽しめるように工夫する姿勢が見られる。
これを勉強すると、プログラミングがもっと好きになれる。

これからは気分が乗らないときはRubyの勉強をしたい。
★★

Rubyとは、
・スクリプト言語である。
 プログラムを書く→コンパイルする→実行する
という流れが、スクリプト言語なら
 プログラムを書く→実行する
という流れになる。

・オブジェクト指向言語

・マルチプラットフォームな言語

・irbコマンド
Rubyコンソールでirbと打つと、コマンドのテストができる。

・putsコマンド
printメソッドと異なり、表示する文字列を必ず最後に改行する。

・日本語を扱うrubyスクリプトを実行する場合
ruby -Ks スクリプトファイル名
のように-Ksオプションをつける必要がある。
Unix,Mac OS Xの場合は
ruby -Ku スクリプトファイル名

# encoding: Shift_JIS
のように
#encoding: 文字コード
というコメントを1行目に記述することによって、ソースコードの文字コードを指定することができる。

■繰り返し処理

# encoding : UTF-8
i = 1
while i <= 10
	print i, "\n"
	i = i + 1
end

j = 0
100.times do
	puts "100 times loop"
	j = j + 1
	if(j == 50) then
		print "j = ",j,"\n"
	end
end

・オブジェクトを格納するオブジェクトのことをコンテナという。

・データ構造とは、データの集まりを意味する。

■配列のループ
eachメソッドは配列から要素を1つずつ取り出して、「|変数|」で指定された変数に代入してブロックの中のメソッドを繰り返し実行していく。

name = ["佐藤","小林","高野","藤木"]

name.each do |n|
	puts n
end

■ハッシュとシンボル
・ハッシュは文字列やシンボルなどをキーにしてオブジェクトを格納する。

・シンボルとは、文字列に似たオブジェクトで、Rubyがメソッドなどの名前の識別に使うラベルをオブジェクトにしたもの

・ハッシュからオブジェクトを取り出すには、
ハッシュ名[キー]
で取り出す。

#ハッシュを作る
font_table = {:normal => "+0", :small => "-1", :big => "+1"}

#ハッシュからオブジェクトを取り出す
puts font_table[:small]

puts font_table[:big]

puts font_table[:normal]

#ハッシュを追加
font_table[:verybig] = "+2"

puts font_table[:verybig]

■結果

-1
+1
+0
+2

■正規表現
正規表現でできること
・文字列とパターンの一致(マッチング)
・パターンを使った文字列の切り出し

正規表現オブジェクトを作るための構文
/パターン/

正規表現と文字列のマッチングを行うには・・・
/パターン/ =~ マッチングしたい文字列

マッチングが成功したときはマッチした部分の位置を返す。
文字の位置は0から数える。
マッチングが失敗したにはnilを返す。

puts /Ruby/ =~ "Ruby"

puts /Ruby/ =~ "Diamond"

puts /Ruby/ =~ "12345Ruby6789"

結果

0
nil
5