初めに
こんにちは!都内でWEB制作を中心に活動しているりょうといいます!
今回はShopifyをきっかけに興味を持ったRubyの簡単な構文について、備忘録的にまとめていきます!
shopifyはRubyをもとにして作られたliquidという言語があるそうで、バックエンド全くの未経験の僕がいきなり始めるにはあまりにも敷居が高い。。。
それならRubyから始めてみよう!!
そんな経緯があってこの記事を書いた次第です!
この記事の目的
Rubyの基本構文を忘れないうちにアウトプットする!
ではいきましょう。
テキストの出力
# コメントアウトは”#”でできる!
puts "Hello Ruby!"
puts 8
# 出力結果:Hello Ruby! 8
Rubyのテキスト出力は『puts』
言語ごとに出力方法は違うようですが、個人的にはputs、とても好きですね。
なんかかわいい
また、Rubyにおいては『文字列』と『数値』の連結はできないようです。
これは注意が必要ですね。
puts "string" + 10
#出力結果: エラー!
変数の宣言
name "Ryo"
puts name
# 出力結果:Ryo
let とか constとかしなくていいんですね。
他の言語を触っているとついつい今がらがってしまいそうです。
変数の展開
name "Ryo"
age 20
puts "Hello! My name is #{name}. I am #{age} years old."
# 出力結果:Hello! My name is Ryo. I am 20 years old.
関数の宣言
def hello(language)
return "Hello" + language
end
puts hello("Ruby")
# 出力結果:Hello Ruby
条件分岐
age = 20
# ageが20以上の時
if age >= 20
puts "adult"
# ageが20より下の時
elsif age < 20
puts "young"
# age の中身が空っぽ(=nil)の場合
else
puts "HI MI TSU"
end
大事なのは最後の『end』!
波括弧などで挟まない関係で、プログラムにどこからどこまでと教えてあげないといけないんですね。
何度もコンソールにendがないよ〜と指摘されてしまいました、、、
たまには『君のプログラムはすごいね!格好いいね!』とかいってほしいですよね。
はい。
配列
languages = ["Japanese", "English", "Chinese", "Korean"]
puts languages
# 出力結果:Japanese English Chinese Korean (改行されて一つずつ出る)
ハッシュ
# 書き方1 キーを使う
user_01 = {"name" => "Bob", "country" => "America", age => 30}
puts user_01["name"]
#出力結果: Bob
# 書き方2 シンボルを使う
user_02 = {:name => "John", :country => "Canada", :age => 20}
puts user_02[:name]
# 出力結果: John
# 書き方3 シンボルを省略する
user_03 = {name: "Kim", country: "China", age: 18}
puts user_03[:name]
# 出力結果:Kim
オブジェクトみたいな形だけどこれはRubyでは『ハッシュ』と言うんですね。
面白いなと思ったところはシンボルを使った書き方、特に省略しても呼び出す時は『シンボルを用いる』
というのが新鮮でした。
このシンボルはclassの『インスタンス変数』として似たような形で出てきますし、ハッシュを使う時は基本的に『シンボル』を使うのがいいようです。
何より簡単ですしね。簡単なのはいいことです。
each文
users = [
{name: "Bob", country: "America", age: 30},
{name: "John", country: "Canada", age: 20},
{name: "Kim", country: "China", age: 18}
]
users.each do |user|
puts user[:country]
end
# 出力結果 America Canada China
ここでも忘れずに『end』!!
終わりに
お疲れ様でした!
簡単なアウトプットを行ったのですが、HTMLなどと違い、
The プログラミングという感覚がいいですね!(HTMLももちろん大好きです)
Qiita初投稿ということもあり至らぬ点があったり、見づらいものになってしまっていないか心配ではありますが、
3日坊主にならないように頑張ろうと思います!