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


Rubyの学習 free169
クラス内のメソット(each)を呼び出し、値に変数の名札を付けていくケース

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

C:\RubyTest>ruby test_sada9-4.rb
_sadaNum = 3
_sadaNum = 4
_sadaNum = 5
_sadaNum = 6
_sadaNum = 7
_sadaNum = 8
_sadaNum = 9
_sadaNum = 10
_sadaNum = 11
_sadaNum = 12

_sadaNum = 3
_sadaNum = 4
_sadaNum = 5
_sadaNum = 6
_sadaNum = 7
_sadaNum = 8
_sadaNum = 9
_sadaNum = 10
_sadaNum = 11
_sadaNum = 12

_sadaNum = Ax
_sadaNum = Ay
_sadaNum = Az
_sadaNum = Ba
_sadaNum = Bb
_sadaNum = Bc

_sadaNum = 103
_sadaNum = 104
_sadaNum = 105
_sadaNum = 106
_sadaNum = 107
_sadaNum = 108
_sadaNum = 109
_sadaNum = 110
_sadaNum = 111
_sadaNum = 112

_sadaNum = 103
_sadaNum = 104
_sadaNum = 105
_sadaNum = 106
_sadaNum = 107
_sadaNum = 108
_sadaNum = 109
_sadaNum = 110
_sadaNum = 111
_sadaNum = 112


C:\RubyTest>




Friday,September,20,2013

プログラムの表示

=begin Friday,September,20,2013 ○値から謎の多いクラス名を調べてみる。 ルビーの値(オブジェクト)が所属するクラス Numeric (わからない) Float (浮動小数点数) Integer (わからない) Bignum (大きな整数) Fixnum (整数) 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_sada9-4.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada9-4テキスト.txt(メモ帳の下書き名) #--------------------------------------------------- #この(each)はオブジェクトではないくメソッド。 #ということは文字列オブジェクトのクラスの中にある実行プログラムに命令しているイメージだろう #この(first..last)のドットは演算子と呼ばれており、文字列はオブジェクトみたいだ(数字もオブジェクトでしたっけ?なんか違った気がする)。 #変数には先頭にアンダーバーをつけてわかりやすくした。 #○この(each)メソットは、クラス内の(each)メソットを呼び出し、値に変数の名札を付けるように命令しているのだろう。 #○変数に繰り返し値が名札付けられ、繰り返しプリントされてもいる。 _sadaRange = 3..12 _sadaRange.each{|_sadaNum| print("_sadaNum = ", _sadaNum, "\n") } print("\n") #ブロック({})を、[do] [end] に代えても実行できる。 #少し動作が違うケースもあるとのこと。 _sadaRange = 3..12 _sadaRange.each do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") #変数を取り払い演算子(..)と数字のオブジェクト(数字はオブジェクトと呼ばなかったような)を直接使用した例 ("Ax".."Bc").each do |_sadaNum| print("_sadaNum = " + _sadaNum + "\n") #文字列を合体して出力する例、意味は上と同じ。 end print("\n") #変数を取り払い演算子(..)と数字のオブジェクト(数字はオブジェクトと呼ばなかったような)を直接使用した例 (103..112).each do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") #[do] [end] をブロック({})に変えた。動作は同じはず。 (103..112).each{|_sadaNum| print("_sadaNum = ", _sadaNum, "\n") } print("\n")


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

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

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