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
この記事が気に入ったらサポートをしてみませんか?