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


Rubyの学習 free190
インスタンス変数は別々オブジェクトでは値は上書きされない

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

C:\RubyTest>ruby test_sada13-2.rb
財布
ノート
帽子
軍手
マスク
メガネ
財布
ノート
帽子
軍手
マスク
メガネ

C:\RubyTest>




Thursday,October,3,2013

プログラムの表示

=begin Thursday,October,3,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-2.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada13-2テキスト #--------------------------------------------------- #! ruby -Ku require "kconv" =begin インスタンス変数はアット@がつく クラス外のメソットを複数作ってもインスタンス変数に名札付けられる値は上書きされない class クラス名 def メソッド名 @name = 値 end end オブジェクト名1.メソッド名(引数1, 引数2, ...) オブジェクト名2.メソッド名(引数1, 引数2, ...) オブジェクト名3.メソッド名(引数1, 引数2, ...) =end class SadaBag def _sadaSetName(_sadaStr) @name = _sadaStr end def _sadaDispName() print(Kconv.tosjis(@name), "\n") end end _sada1 = SadaBag.new() _sada1._sadaSetName("財布") _sada2 = SadaBag.new() _sada2._sadaSetName("ノート") _sada3 = SadaBag.new() _sada3._sadaSetName("帽子") _sada4 = SadaBag.new() _sada4._sadaSetName("軍手") _sada5 = SadaBag.new() _sada5._sadaSetName("マスク") _sada6 = SadaBag.new() _sada6._sadaSetName("タオル") _sada6 = SadaBag.new() _sada6._sadaSetName("メガネ") #プリントは引数をインスタンス変数に名札付けした後にいっせいにプリントしてみる #しかし引数は上書きされていないことがわかる _sada1._sadaDispName() _sada2._sadaDispName() _sada3._sadaDispName() _sada4._sadaDispName() _sada5._sadaDispName() _sada6._sadaDispName() #プログラムの文は違うが機能は上記と同じ _sada1::_sadaDispName() _sada2::_sadaDispName() _sada3::_sadaDispName() _sada4::_sadaDispName() _sada5::_sadaDispName() _sada6::_sadaDispName()


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

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

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