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


Rubyの学習 free170
(times)(upto)(downto)メソッドの繰り返し
数字のオブジェクト(数字は違ったかな)のみ

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

C:\RubyTest>ruby test_sada9-5.rb
12というオブジェクト(数字は違ったかな)に対し、
クラス内のメソット(times)がゼロから12の一歩手前までの値に対し
変数による名札を付けて繰り返しブロック内({})、または(do) (end) 内のプログラムを
実行する。12.times
_sadaNum = 0
_sadaNum = 1
_sadaNum = 2
_sadaNum = 3
_sadaNum = 4
_sadaNum = 5
_sadaNum = 6
_sadaNum = 7
_sadaNum = 8
_sadaNum = 9
_sadaNum = 10
_sadaNum = 11

以下同文 12.times
_sadaNum = 0
_sadaNum = 1
_sadaNum = 2
_sadaNum = 3
_sadaNum = 4
_sadaNum = 5
_sadaNum = 6
_sadaNum = 7
_sadaNum = 8
_sadaNum = 9
_sadaNum = 10
_sadaNum = 11

18というオブジェクト(数字は違ったかな)に対し、
クラス内のメソット(upto)が18から引数30までの値に対し
変数による名札を付けて繰り返しブロック内({})、
または(do) (end) 内のプログラムを実行する。18.upto(30)
_sadaNum = 18
_sadaNum = 19
_sadaNum = 20
_sadaNum = 21
_sadaNum = 22
_sadaNum = 23
_sadaNum = 24
_sadaNum = 25
_sadaNum = 26
_sadaNum = 27
_sadaNum = 28
_sadaNum = 29
_sadaNum = 30

以下同文 18.upto(30)
_sadaNum = 18
_sadaNum = 19
_sadaNum = 20
_sadaNum = 21
_sadaNum = 22
_sadaNum = 23
_sadaNum = 24
_sadaNum = 25
_sadaNum = 26
_sadaNum = 27
_sadaNum = 28
_sadaNum = 29
_sadaNum = 30

50というオブジェクト(数字は違ったかな)に対し、
クラス内のメソット(downto)が50から引数18までの値に対し
変数による名札を付けて繰り返しブロック内({})、
または(do) (end) 内のプログラムを実行する。50.upto(38)
_sadaNum = 50
_sadaNum = 49
_sadaNum = 48
_sadaNum = 47
_sadaNum = 46
_sadaNum = 45
_sadaNum = 44
_sadaNum = 43
_sadaNum = 42
_sadaNum = 41
_sadaNum = 40
_sadaNum = 39
_sadaNum = 38

以下同文 50.downto(38)
_sadaNum = 50
_sadaNum = 49
_sadaNum = 48
_sadaNum = 47
_sadaNum = 46
_sadaNum = 45
_sadaNum = 44
_sadaNum = 43
_sadaNum = 42
_sadaNum = 41
_sadaNum = 40
_sadaNum = 39
_sadaNum = 38

_sadaNum = 0
_sadaNum = 1
_sadaNum = 2

_sadaNum = 3
_sadaNum = 4
_sadaNum = 5

_sadaNum = 9
_sadaNum = 8
_sadaNum = 7


C:\RubyTest>




Saturday,September,21,2013

プログラムの表示

=begin Saturday,September,21,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-5.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada9-5テキスト #--------------------------------------------------- =begin ブロック({})やドゥ エンド(do end)は演算子と呼ぶのかな? 範囲を指定したこれ(100..150)は演算子と呼んだ。 文字列オブジェクトには(times)(upto)(downto)はクラスが違うので使えなかった。 試した軌跡は一番下に残した(英語だから日本語の文字列に変換しなくていいはず)。 (times)(upto)(downto)メソッドはIntegerクラス Integerこれは今まで不明でした。 IntegerクラスのサブクラスであるFixnumクラスで使用できる。 ここで試した。 free157.html free147.php Fixnumクラスは整数であるから文字列では有効でないんだな。 オブジェクト.times{|変数| 実行する処理1 実行する処理2 } ○ブロックを do end に変えただけ オブジェクト.times do |変数| 実行する処理1 実行する処理2 end オブジェクト.upto(引数) do |変数| 実行する処理1 実行する処理2 end オブジェクト.downto(引数) do |変数| 実行する処理1 実行する処理2 end =end #! ruby -Ku print("12というオブジェクト(数字は違ったかな)に対し、 クラス内のメソット(times)がゼロから12の一歩手前までの値に対し 変数による名札を付けて繰り返しブロック内({})、または(do) (end) 内のプログラムを実行する。12.times\n") 12.times{|_sadaNum| print("_sadaNum = ", _sadaNum, "\n") } print("\n") print("以下同文 12.times\n") 12.times do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") print("18というオブジェクト(数字は違ったかな)に対し、 クラス内のメソット(upto)が18から引数30までの値に対し 変数による名札を付けて繰り返しブロック内({})、 または(do) (end) 内のプログラムを実行する。18.upto(30)\n") 18.upto(30){|_sadaNum| print("_sadaNum = ", _sadaNum, "\n") } print("\n") print("以下同文 18.upto(30)\n") 18.upto(30) do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") print("50というオブジェクト(数字は違ったかな)に対し、 クラス内のメソット(downto)が50から引数18までの値に対し 変数による名札を付けて繰り返しブロック内({})、 または(do) (end) 内のプログラムを実行する。50.upto(38)\n") 50.downto(38){|_sadaNum| print("_sadaNum = ", _sadaNum, "\n") } print("\n") print("以下同文 50.downto(38)\n") 50.downto(38) do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") 3.times do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") 4.upto(6) do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") 9.downto(7) do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") #----------------------------------- #以下文字列オブジェクトでは失敗した。 =begin "Ac".times do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") "Ax".upto("Bc") do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") "Bc".downto("Ax") do |_sadaNum| print("_sadaNum = ", _sadaNum, "\n") end print("\n") =end


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

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

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