#27 Rubyアウトプット
みなさんこんばんは!hiroです😃
本日も学習した内容をアウトプットします。
参考文献
伊藤 淳一氏
プロを目指す人のためのRuby入門
言語仕様からテスト駆動開発・デバッグ技法まで
メソッド定義について
■デフォルト値付きの引数
・引数の過不足があるとエラーが発生する
▼引数0の場合のエラー
ArgumentError:wrongnumberofarguments(given0,expected1)
▼引数が実数よりも多い場合のエラー
ArgumentError:wrongnumberofarguments(given2,expected1)
▼引数にデフォルト値を設定する事で、引数が0の場合、デフォルト値が実行結果として出力される
def greeting(country='japan')
if country == 'japan'
'こんにちは'
else
'hello'
end
end
greeting #=> "こんにちは"
greeting('us') #=> "hello"
■?で終わるメソッド
・?で終わるメソッドは慣習として真偽値を返すメソッド
・真偽値を返す目的のメソッドであれば、?で終わらせるようにしたほうが良い
#3の倍数ならtrue、それ以外はfalseを返す
def multiple_of_three?(n)
n%3==0
end
multiple_of_three?(4) #=> false
multiple_of_three?(5) #=> false
multiple_of_three?(6) #=> true
■!で終わるメソッド
・!で終わるメソッドは慣習として「使用する際は注意が必要」という意味を持つ
・破壊的メソッドとは、呼び出したオブジェクトの状態を変更してしまうメソッドの事
■stringクラスのupcaseメソッドの例
a='ruby'
#upcaseだと変数aの値は変化しない
a.upcase #=>" RUBY"
a #=> 'ruby'
#upcase!だと変数aの値も大文字に変わる
a.upcase! #=> "RUBY"
a #=> "RUBY"
・!で終わるメソッドを見かけたらどんな注意事項があるか、APIドキュメントを読んで確認する
・?で終わるメソッドと同様、!で終わるメソッドも自分で定義することができる
最後まで読んで頂き、ありがとうございました🙇♂️
この記事が気に入ったらサポートをしてみませんか?