こんにちは。
こちらはLIGのアドベントカレンダー14日目の記事です。
株式会社LIGでWebディレクターをやっているともぞうといいます。
私はエンジニア出身でもなんでもないんですが最近Rubyをはじめました。
自分でサービスのつくりたいなーって思って。
Ruby on Railsつかってつくるぞ〜って気持ちです。
そんなこんなで、本稿ではさわり始めたRubyでこれ便利やんけと思ったものをちょっとさわったことのあるJavaScriptと比較していきます。
前提として
JavaScriptは4年前くらいにJQueryで少し書いたことがあるくらいです。
なので、手に持ったマサカリは懐にしまってください。
繰り返しようのメソッドが用意されている
timesメソッドというものが用意されていてとても簡単に繰り返し処理をおこなえました。
10.times do
処理させたい内容
end
JavaScriptで同じことをやろうとすると……
for(var i = 0; i < 10, i++){
処理させたい内容
}
Rubyの記述が13文字に対して、JavaScriptは22文字でした。
9文字も少ないです。
指が疲れにくい。
文字列と変数の連結が楽な気がする
Rubyだと変数を#{変数名}
と#{}
でくくるだけで文字列に入れることができます。
str = "変数の文字"
p "#{str}です"
JavaScriptだと……
var str = "変数の文字"
console.log(str + 'です');
みたいに +
でつなげる必要があります。
個人的に+
が可読性を残っている気がしていて、Rubyのほうが楽な気がしました。
偶数か奇数の判別が楽
.odd?
メソッドで奇数だった場合はTrueを返し、.even?
メソッドを使うと偶数の場合Trueを返してくれます。
if 10.even? then
p "偶数でした"
else
p "奇数でした"
end
JavaScriptだと10 % 2 == 0
みたたいに計算させる必要がある
こんな具合に
if(10 % 2 == 0){
console.log("偶数でした");
}else{
console.log("奇数でした")
}
配列の合計を出してくれる
sum
メソッドを使うだけで合計を出してくれる
nums = [1, 2, 3, 4, 5]
p nums.sum
JavaScriptだとfor文
つかったりと結構面倒そうです。
以下のサイトを見ました。
http://shanabrian.com/web/javascript/sum-number-value.php
さいご
まだまだRuby触りたて & JavaScriptたいして知らないんですが、Rubyは便利なメソッドが多く用意されているなーという気がします
JavaScriptはfor文やif文といった構文をうまく使っていく必要がある気がします。
雑感としては………
JavaScriptは構文をベースに自力で処理(偶数判定の処理とか)を考える必要があって、エンジニア脳が鍛えられそうな一方、手法が複数あるので初心者はどうすりゃいいんじゃああってなりそうだって気がしました。
Rubyは便利な道具がそろっているのでとてもとっつきやすい気がします。
シンプルな書き方(括弧書かなくていいとか)も相まってなんとなく読みやすいですし。
こういう違いRubyが初心者向けにもおすすめされている理由なのかなんて思いました。
以上です。
明日は誰かの何かみたいです。
とても楽しみです。