LoginSignup
0
0

More than 3 years have passed since last update.

Ruby超初級編 JavaScriptやってた人とっつきやすいと思います。

Posted at

ProgateでRubyを勉強し始めたのですが、JavaScriptと似ている部分があり覚えやすかったです。
復習のためJSとの比較交えながらRubyについてまとめておきます。
JavaScriptやってる初心者でバックエンド言語何にしようかと迷っている方にはとっつきやすいと思いました。
初心者の言語選定などの参考になれば幸いです。

コンソールに値を表示させるコマンド 

JSで言うconsole.log。これはJSと少し違う。

puts "Hello world"
# メモ書き

変数宣言

constとかいらないのね

name = "げん"

変数の命名 2語以上の場合はアンダーバーで区切る

user_name 

変数の上書きができる。

JSのvarみたいな感じと解釈。
JSのconstでは上書きできなかった

age = 2
age = 3 #上書きされる

変数の更新

変数xの値を既存の変数xを使って更新

x = x + 10  

##省略記法
x += 10

文字列の間に変数を埋め込む。

JSでいうテンプレートリテラル(``)。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Template_literals
Rubyでは"(ダブルコーテーション)で囲まれた文字列の中に、#{}を含め、その中に変数を書き込むと文字列の間に変数の値を入れることができる。

Rubyで文字列を書く場合は基本的に"(ダブルコーテーション)を使うことにしておこう。

name = "げん"
puts "僕の名前は#{name}です"  
#出力は 僕の名前はげんです になる

if文 

ifとendで囲む。
JSと比べるとendで終わるのが違う点。
あと、2つ目の条件分岐がelseifではなくelsif。elseの「e」が不要。

   score = 94
   if score > 80
      puts "よくできました"
  elsif score > 60
      puts "まずまずです" 
   else
      puts "がんばりましょう"    
  end

条件の組み合わせ

これは一緒。

   &&  
   ||

配列 

   language = ["日本語","英語","スペイン語"]

配列へのアクセス

JSと一緒。


language[0]

繰り返し処理 each

これはJSとはだいぶ違う書き方。

sports = ["バスケ","サッカー","野球"]
num = 3

sports.each do | sport |
  puts "#{sport}ができます"
end

each文内の変数sportはeach文の内側でしか使用できない。
each文の外で宣言された変数はeach文の中身で使用できる。

ハッシュ JSで言うオブジェクトのようなもの


  {"name" => "gen","age" => 2}

ハッシュへのアクセス 

JSのオブジェクトの角括弧記法と同じ.


 pet = {"name" => "gen","age" => 2}
 pet["name"]  # genにアクセスできる

 シンボル 

キーの先頭に「:」をつけると、ダブルコーテーションと同じ役割を果たす。
値を取り出すときも、シンボルを記載する必要がある。

 pet = {:name => "gen",:age => 2}
 pet[:name]  # アクセスするときもシンボルを記載

シンボル省略形 

けっきょくJSのオブジェクトと一緒やないかい

 pet = {name: "gen",age: 2}
 pet[:name]  # アクセスするときは先頭にシンボルの記載はやっぱり必要

ハッシュ内部のキーの有無で条件分岐

JSでも似たような感覚でif文かいてた。

 pet = {name: "gen",kind: "柴犬"}
 puts pet[:age]  #nilが出力される。これを利用して条件分岐できる。

 if pet[:age]     #nilが返るのでelse以下の文章が出力される。
   puts "ペットの年齢は#{age}です"
 else 
   puts "ペットの年齢がわかりません"
 end

配列の中にハッシュが入ることもある。

JSと同様。


   arr = [{},{}]

おわり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0