見出し画像

UnityエンジニアがRubyで戸惑った #2

Unityでゲーム開発がメインな私ですが、Rubyを勉強してみてC#との違いに戸惑ったり便利だと思った備忘録集です。

1.小文字のスネークケースが一般的
2.メソッドに戻り値は定義しなくてよい
3.returnは書かなくてもよい
4.引数の( )は省略できる


今回は、メソッドの書き方にスポットを当ててます。


1.小文字のスネークケースが一般的

変数名もメソッド名もスネークケースが一般的らしいです。
私は、Unityではキャメルケースで書いていたので、ちょい戸惑い。

#メソッド名はスネークケースで書く
def hello_world
    'Hello world!'
end

#ちなみにキャメルケースで書くとこうなる
def helloWorld
    'Hello world!'
end


2.メソッドに戻り値は定義しなくてよい

戻り値の型を定義しなくてよいらしい。
ん〜、慣れないと違和感たっぷりな感じだし、書き忘れたように見えてしょうがない。。

#戻り値の型情報は必要ない
def add (a, b)
   return a + b
end

void書かなくていいのもなんだか寂しい。


3.returnは書かなくてもよい

戻り値の定義を書かなくてもよいなら、returnも書くのやめよう!
みたいに、return文も書かなくてよいらしい。
Rubyは最後に評価された式がメソッドの戻り値になるのが特徴なので、そりゃreturnもいらないわけなんですよ。

#returnを書かなくても最後に処理した式の値が戻り値となる
def greeting(country)
    if country == 'japan'
        'こんにちは'
    else
        'hello'
    end
end

greeting('japan') #=> "こんにちは"
greeting('us') #=> "hello"


4.引数の( )は省略できる

引数のないメソッドは、( )ごと省略できてしまうらしいです。
( )のないメソッドはなんだかかっこ悪く見えるけど、これも慣れですかね。

#引数がない場合は、()を省略できる
def greeting
    'こんにちは'
end


まとめ

個人的に思うに、なんとなくVBAの書き方に少し似てる?って思いました。

型を意識しなくてもよかったり、いろいろと省略できたりすることが、
初心者向けプログラミング言語と言われるゆえんでしょうか。


最後までお読みいただきありがとうございます。
スキして頂いたり、フォローして頂けると励みになります。

引き続き、よろしくお願い致しますm(_ _)m


この記事が気に入ったらサポートをしてみませんか?