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


Rubyの学習 free192
超短縮

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

C:\RubyTest>ruby test_sada13-4.rb
未定義です by定近
テス、テス
こんばんは、定近です

値がありません by定近
あ、あ
いらっしゃいませ、定近です

C:\RubyTest>





Saturday,October,5,2013

プログラムの表示

=begin Saturday,October,5,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-4.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada13-4テキスト #--------------------------------------------------- #! ruby -Ku require "kconv" #リターン句を使いクラスの外からアクセスするんだけど、オブジェクト込みなんだよね、謎だ #「_sada._sadaGetName()」 #↑オブジェクト↑メソッド class SadaBox def initialize(_sadachi="未定義です by定近") @name = _sadachi end def _sadaGetName() return @name end def _sadaSetName(_sadachika) @name = _sadachika end end _sada1 = SadaBox.new() #これはメソッドをオブジェクトに短縮しただけ print(_sada1._sadaGetName()) #○リターン句の使用なので短縮されたプログラム文で値を出力する print("\n") #空の場合にインスタンス変数に名札付けされる値が表示されるかテスト _sada2 = SadaBox.new("テス、テス") #ダイレクトにインスタンス変数にアクセスする print(_sada2._sadaGetName()) #○リターン句の使用なので短縮されたプログラム文で値を出力する print("\n") _sada3 = SadaBox.new() _sada3._sadaSetName("こんばんは、定近です") #オーソドックスなメソッド、オブジェクトによる値の入力文 print(_sada3._sadaGetName()) #○リターン句の使用なので短縮されたプログラム文で値を出力する print("\n\n") #日本語変換もしなくていいようだ、謎だ #-------------------------------------------------------------------------- =begin 使えるアイテム attr_reader 参照が可能 attr_writer 更新が可能 attr_accessor 参照と更新が可能 =end class SadaHouse def initialize(_sadachika="値がありません by定近") @name = _sadachika end attr_accessor :name #この句「attr_accessor」は、メソッド無しでクラスの外から値を上書きができる end #○空の場合にインスタンス変数に名札付けされる値が表示されるかテスト _sada11 = SadaHouse.new() #これはメソッドをオブジェクトに短縮しただけ print(_sada11.name) #○○この「attr_accessor」句で超短縮 print("\n") _sada12 = SadaHouse.new("あ、あ") #ダイレクトにインスタンス変数にアクセスする print(_sada12.name()) #○○この「attr_accessor」句で超短縮 print("\n") _sada13 = SadaHouse.new() #これはメソッドをオブジェクトに短縮しただけ _sada13.name = "いらっしゃいませ、定近です" #○ダイレクトにインスタンス変数の値を上書きする print(_sada13.name) #○○この「attr_accessor」句で超短縮 print("\n")


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

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

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