プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がオススメするプログラミング教材です

私がおすすめするプログラミング教材のまとめ【書籍】

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

【Ruby入門】関数(メソッド)の使い方

更新日:

記事の内容


この記事では、Rubyの関数の使い方について説明します。
関数はメソッドとも呼ばれています。

メソッドとは何か?

メソッドとは、ある特定の処理をまとめたものです。
ソースコードの中に同じような処理があれば、関数を使ってそれらを一つにします。
そうして、一度でも関数を定義してしまえば、関数を呼び出すことで、何度も同じ処理を簡単に実行することができます。
メソッドは、「def」「end」という2つのキーワードを使って宣言します。

また、メソッドには引数と呼ばれる値を渡すこともできます。
メソッドの中では、渡された引数を自由に使うことができます。
引数を関数に渡すことで、より拡張性のあるコードを書けるようになります。

メソッドを使うメリット

では、実際に関数を使うメリットを紹介します。
putsで表示する場合だと、「こんにちは、さん」というコードが3回、書かれています。
それを関数にまとめると、「こんにちは、さん」というコードは1回しか書かれていません。
これが、DRY原則と呼ばれるもので、「繰り返し同じコードを書くな」という意味です。
ちなみに、DRYは、「Don't Repeat Yourself」の略です。

このように関数にまとめておくと、重複するコードを省けますし、コードの変更もしやすくなります。
例えば、「こんにちは」を「こんばんは」に変更してみます。
関数ナシでputsを書いている場合は3ヶ所を変更する必要がありますが、関数の場合だと、1ヶ所を変更するだけで済みます。

case文をメソッドにしてみよう

case文は、コードが長くなりがちです。
そのような長いコードをメソッドにしておくとスッキリと、コードを書くことができます。

また、関数は、結果を取得することもできます。
関数が返す値を戻り値と呼びます。
rubyでは、returnを書かなくても、必ず最後の値が戻り値になることも覚えておきましょう。
rubyでは、returnを書かない方が粋なコードっぽくなります。

デフォルト引数を使ってみよう

関数を定義する時に「引数名=デフォルト値」とすることで、引数のデフォルト値を設定できます。
デフォルト値を設定しておくと、関数の呼び出し時に引数の指定を省略することができます。

メソッドの引数にHashを渡そう

rubyでは、メソッドの引数に、あまり多くの値を渡しません。
その代わりに、Hashを渡します。
rubyでは、引数が4個も5個もあるような関数を定義することは止めましょう!

まとめ

この記事では、関数の説明やノウハウを説明しました。
コードを綺麗に書くためにも、メソッドは理解しておきたいですね。

Good luck for your engineer life!

Ruby初心者から抜け出したい人に、オススメの本です



Rubyをより詳しく勉強したい人には、この記事がオススメです

Rubyの学習でおすすめの本と動画【2024年最新】

▼ Ruby on Railsについては、この記事で紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け4 上級者向け 動画教材 "ちゃんと" Ruby を学ぼう! ー オブジェクト指向機能ってなんだ? ▼ 興味がある方は ...

続きを見る


Ruby on Railsをより詳しく勉強したい人には、この記事がオススメです

Ruby on Railsの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け3 中級者向け 動画教材 Ruby Metaprogramming - Complete Course ▼ 興味がある方は、画像をクリック 英語版です。 Rubyのメタプログラミングについて学べます。 Ruby ...

続きを見る


Gitをより詳しく勉強したい人には、この記事がオススメです

Gitの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 漫画?でわかりやすく学ぶ入門書の定番3 初心者向け4 中級者向け5 上級者向け 動画教材 もう怖くないGit!チーム開発で必要なGitを完全マスター ▼ 興味がある方は、画像をクリック Gitの基本コマンド、ブランチやマ ...

続きを見る

-Ruby, プログラミング

Copyright© プログラミング道場 , 2024 All Rights Reserved Powered by AFFINGER4.