Rubyでdefined?を使う方法を現役エンジニアが解説【初心者向け】
初心者向けにRubyでdefined?を使う方法について解説しています。これは変数が定義されているかどうかを調べるときに使用されます。defined?の書き方と使用例、実行結果の見かたを学習しましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
監修してくれたメンター
mentor-hakamata
C#, Ruby, Python, JavaScriptなど経験。
Rubyのdefined?メソッドの使い方について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
目次
Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
今回は、Rubyに関する内容だね!
どういう内容でしょうか?
Rubyのdefined?メソッドについて詳しく説明していくね!
お願いします!
defined?とは
defined?メソッドはメソッドや変数が定義されている状態かどうかを確認できるメソッドです。
defined?の書き方
defined?メソッドはRubyで最初から定義されているメソッドですのでどこでも使用可能です。
defined? sample
第一引数に定義されているか確認したいメソッドまたは変数名を設定して呼び出します。
defined?の使い方
defined?の使い方として、2つの利用方法をご紹介します。
- defined?によるメソッドの確認方法
- defined?による変数の確認方法
それぞれのdefined?の利用方法について以下で解説します。
defined?によるメソッドの確認方法
メソッドが定義されているか確認してみましょう。
p defined? sample() #=> nil
sampleメソッドは定義していないのでnilが返ってきます。
sampleメソッドを自分で定義して、再度確認してみます。
def sample p "sample" end p defined? sample() #=> "method"
“method”という文字列が返ってきていますね。
sampleメソッドが存在していると判断できます。
変数に代入したオブジェクトに対しても、メソッドが存在するかを確認できます。
num = 1 p defined? num.to_s #=> "method"
num変数に1を代入します。
数値オブジェクトには文字列に変換するためのto_sメソッドが存在していますので、”method”という文字列が返ってきています。
こちらも定義されていないメソッドを引数にするとnilが返ってきます。
num = 1 p defined? num.undefined_method #=> nil
defined?による変数の確認方法
変数も同様の方法で確認できます。
num = 1 NUM = 1 @num = 1 p defined? undefined_num #=> nil p defined? num #=> "local-variable" p defined? NUM #=> "constant" p defined? @num #=> "instance-variable"
ひとつずつ解説します。
- undefined_num 定義していないのでnilが返ってきています。
- num ローカル変数として定義されているので、”local-variable”が返ってきています。
- NUM 定数として定義されているので、”constant”が返ってきています。
- @num インスタンス変数として定義されているので、”instance-variable”が返ってきています。
まとめ
本記事では、Rubyにおけるdefined?について解説しました。
- defined?とは
- defined?の書き方
- defined?の使い方
defined?を理解することで、Rubyでの関数やデータの扱い方を確認できます。
ぜひ使いこなせるように覚えておきましょう。
Ruby on Railsを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのWebアプリケーションコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、Ruby on Railsを使ったWebアプリケーション開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!