【Ruby】Mix-inの挙動
「Mix-in(ミックスイン)」を行うことで、インクルードしたクラスの上の階層に動作を定義できますので結果的に仮想的なスーパークラスとして作用してくれます。まずは↓のスクリプトをみていきましょう。 [crayon-673…
「Mix-in(ミックスイン)」を行うことで、インクルードしたクラスの上の階層に動作を定義できますので結果的に仮想的なスーパークラスとして作用してくれます。まずは↓のスクリプトをみていきましょう。 [crayon-673…
モジュールはメソッドや定義などの処理をまとめることができる機能ですが、クラスとは違い インスタンスを作る クラスの継承 の上記の2点はモジュールではできません。 モジュールの作成 モジュールを定義する場合の記述方法は下記…
すでに定義しているクラスにメソッドを後から追加することも可能です。まず下のようなクラスとメソッドがあったとします。
1 2 3 4 5 |
class HelloRuby def hello puts "こんにちは" end end |
このクラス定義ではメソッドから文字列「…
今回は定義したメソッドへのアクセス権について説明していきます。Rubyでは下記の3種類の呼び出し制限を設定できます。 public private protected public publicはクラス定義の外からでもイ…
クラスは処理内容を定義した設計図、いわば型枠のようなものでその型枠自体の処理内容をクラスメソッドで決めていきます。クラスメソッドはクラス自体をレシーバとしているので「クラス名.メソッド名」と記述すればクラスから直接呼び出…
メソッド内に「self」と記述するとそのメソッドを受け取っているインスタンス(レシーバ)のことを指すことになります。例えば下記のようなスクリプトがあったとします。 [crayon-673efcd76db730859793…
クラスを定義するには下のように記述します。
1 2 3 |
class クラス名 クラスの内容 end |
このような記述方法でクラスを定義し、「こんにちは」と表示されるメソッドを作ってみます。 [crayon-673…
メソッドはオブジェクトに行ってほしい動作を伝えるために使われます。 例えば下のようなスクリプトがあったとします。
1 2 |
a = "object".length p a |
6 「length」メソッドは文字数を返…
突然ですが、変数「x」に1を、変数「y」に2を代入したい場合、あなたならどのようにして代入しますか? 普通に代入する場合は↓のように1つずつ代入していきます。 [crayon-673efcd76e864036859470…
コマンドにデータを入力するには下記の記述などで対応ができます。 ARGVでコマンドラインにデータを入力 コマンドラインからの情報はARGVで取り出すことができます。ARGVは配列オブジェクトとなっていて、複数データを要素…