*ブログに戻る →ここ です。
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
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。