ProgateでRubyの基本(コース1)
Progateはプログラミングの学習サービスでスライドとか図があって、わかりやすい。やることも指示される形でわからなくなったらヒントを学べるから基本を学ぶにはちょうどよいかもしれない。はじめのほうは無料で学べますが、コース2あたりからは有料になってきます。月額980円なので安いといえば安いです。
筆者は有料会員になったのでせっかくなので全ての言語をさわっておきたいところです。
べつにProgateだけでもいいとはおもうけど、この本は結構おすすめ↓
Progateも後半からは難しくなってくるので本があったら便利かもしれない。
それではさっそくRubyのコース1を備忘録的に書いていこうと思います。
Rubyとは
Rubyはスクリプト言語みたいだけど、Progateによるとpythonとかphpみたいにウェブサービスをつくるための言語らしいです。Rubyは文法が簡単?かどうかはわからないけど結構シンプルな構文になるとか美しいコードになるとか聞いたことがあるような気がします。
表示
表示はputsですね。Rubyはセミコロンがいらない。Rubyのコメントはダブルスラッシュじゃなくて # シャープですね
puts "hello" #puts
数式
+, -, *, /, %
どの言語にもあるよなやつですね。このあたりは飛ばしてもいいかと思います。
Rubyの文字列の連結
Rubyの文字列の連結は + 記号を使います。 たまに . ピリオドで連結させたりする言語もあるけどRubyは +
puts "どうも" + "こんにちは"//#どうもこんにちは puts "1" + "1"#// 11
Rubyの変数
Rubyは型指定とかなく $記号とかもなく そのまま生で変数がかけますね。とくにこのあたりでつまづくことはないとは思います
name = "tanaka" puts name text = "プログラミングを学ぼう" puts "Progateで" + text length = 8 width = 9 puts length * width
変数の更新
+=, -=, *=, /=, %= などが使えるみたいですね
member = 1 #member = member + 3 member += 3
文字列への変数展開 文字列の変数展開は ”#{変数}” こんなかんじで #{}をつかいますね length = 9 width = 8 area = length * width # 「面積は◯◯です」となるように出力してください puts "面積は#{area}です"
Rubyの条件分岐
Rubyの条件分岐は他の言語とかとは違う ifの条件判定に()かっこをつけなかったり なみかっこ も使わない。そのかわりendキーワードを使う。違う書き方もできたきがするが、ここでは触れない。
<, >, <=, >=, ==
あと条件式を生でかくとtrue falsaeがかえってくるようです
score = 90 if score > 80 puts よくできました end puts score < 100 #false puts score > 100 #true
比較演算子
==, !=など
score = 50 if score == 100 puts "満点です" end if score != 100 puts "満点ではありません" end
elsif
Rubyの複数条件分岐はelsif で e が入ってないので注意。→ 別に意識する必要はないと思うけど
score = 73 if score > 80 puts "よくできました" elsif score > 60 puts "まずまずです" else puts "がんばりましょう" end
&& ||
&&はかつ ||はまたは
year = 2018 if year < 1896 puts "#{year}年にオリンピックはまだありません" elsif year == 1916 || year == 1940 || year == 1944 puts "#{year}年にオリンピックは開催されませんでした" elsif year % 4 == 0 puts "#{year}年は夏季オリンピックが開催されました" else puts "#{year}年は夏季オリンピックイヤーではありません" end
ProgateのRubyコース1まとめ
ある程度プログラムにさわったことがある人だったらやらなくてもいいかもしれない。この時点でまだ繰り返しとかブロック変数とかはでてこない、ほんとに基本の基本みたいな内容。
とくに注意点もないけどRubyの条件分岐はかっこをつかわなかったり endキーワードを使用したりelsifだったり、そこらへんの違いがあるくらいだと思います。
コメント