*ブログに戻る →ここ です。


Rubyの学習 free189
クラスのはじめ

↓Rubyのプログラムを実行すると以下のように表示される。

C:\RubyTest>ruby test_sada13-1.rb
定近四輪
定近木造
橘高建設
橘高四輪

管理人の定近です。クラス名はサダボートです。  end
管理人の定近です。クラス内のよく似たメソットを別々に呼び出しています。
管理人の定近です。クラス名はサダボートです。  end
管理人の定近です。クラス内のよく似たメソットを別々に呼び出しています。

C:\RubyTest>




Wednesday,October,2,2013

プログラムの表示

=begin Wednesday,October,2,2013 ○値から謎の多いクラス名を調べてみる。 ルビーの値(オブジェクト)が所属するクラス Numeric (説明はfree171.html)[step]メソッドはNumericクラスである。 [step]メソッドは、任意に決めた浮動小数点の値を繰り返し足していく事ができるメソット。 Float (浮動小数点数) Integer (説明はfree170.html)[times][upto][downto]メソッドはIntegerクラス Numericのサブクラスでもある。 このメソッドは要素などの値の範囲を指定し、for句(演算子)と連動させる事で変数へ繰り返し値を名札 付けしながらブロック内のプログラムを実行させる。 Bignum (大きな整数) Fixnum (整数) Kernel [loop]メソッドはKernelクラスである。無限に繰り返しを行なう。(今回学習した) PHPでの値の型 string (文字句) integer (数字) double (小数点) free147.php ←ここで試した。 謎の多いクラスを調べる方法は下記、またの機会に別のページで試してみます。 #! ruby -Ku print("定近です。".class())←クラスを調べるには、これを使って調べます。 print("\n") #! ruby -Ku ← の「u」とは、UTF-8 のこと(文字化けを回避します)。 s or S Shift_JIS e or E EUC-JP u or U UTF-8 n or N NONE(ASCII) 「require」メソッドで「kconv」ライブラリを読みんで、モジュール関数「Kconv.tosjis()」 を使用することにより表示の時に Shift_JIS に変換している。(メソットというからにはクラスがあるんでしょうね) まだきちんと理解できていません。 保存するときは、文字コードセットを UTF-8 にすること。 サクラエディタを使用しています。 コマンドプロンプトを開きます。 C:Documents and Settings\User> C:Documents and Settings\User>cd C:\rubytest と入力する。「cd」カレントディレクトリの略。現在のフォルダという意味(フォルダは任意の名前で自作した) C:\RubyTest>ruby test_sada13-1.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada13-1テキスト #--------------------------------------------------- #! ruby -Ku require "kconv" #クラスの勉強、頭にクラスを持ってきて呼び出しのオブジェクトとメソットは後ろに書く class SadachiCar def initialize(_sadaCarName) @name = _sadaCarName end def _sadaDispName print(Kconv.tosjis(@name), "\n") end end #↓オブジェクト ↓メソッド、オブジェクトを作成する為にニューを使う _sada2013 = SadachiCar.new("定近四輪") _sada2013._sadaDispName class SadachiHouse #クラス名の先頭にアンダーバーを付ける事は不可 def initialize(_sadaCarName) #initializeは名前を任意に変更できない @name = _sadaCarName end def _sadaDispName print(Kconv.tosjis("#{@name}"), "\n") #これでも可能だし上記のように省くことも可能、省くべきだな end end _sada201310 = SadachiHouse.new("定近木造") _sada201310._sadaDispName _kitta1 = SadachiHouse.new("橘高建設") _kitta1._sadaDispName _kitta2 = SadachiCar.new("橘高四輪") _kitta2._sadaDispName print("\n") #------------------------------------------------ #クラス内に機能のよく似たオブジェクトを2つ作った #クラス内メソットを外のオブジェクトから別々「_sadaClassname」「_sadaString」に呼び出すテスト。 =begin class クラス名 def メソッド名(引数1, 引数2, ...) 処理 end end オブジェクト名.メソッド名(引数1, 引数2, ...) オブジェクト名.メソッド名 機能は上記と同じ オブジェクト名::メソッド名(引数1, 引数2, ...) オブジェクト名::メソッド名 =end class SadaBoat def _sadaClassname print(Kconv.tosjis("管理人の定近です。クラス名はサダボートです。"), "\n") end def _sadaString(_sadaStr) print(Kconv.tosjis(_sadaStr), "\n") end end #↓オブジェクト ↓メソッド、オブジェクトを作成する為にニューを使う _sada5 = SadaBoat.new() #クラス内によく似たメソットを2つ作り、外から別々に呼び出したので引数は空 _sada5._sadaClassname #引数を省いた、そのままでも真でありプリントする文章も既にセットしてあるため _sada5._sadaString("管理人の定近です。クラス内のよく似たメソットを別々に呼び出しています。") #機能は上記と同じ _sada5::_sadaClassname #引数を省いた _sada5::_sadaString("管理人の定近です。クラス内のよく似たメソットを別々に呼び出しています。")


* 参考にしたサイトは→ こちら です。

これは赤色の文字例です。

これは青色の文字例です。