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


Rubyの学習 free168
範囲を指定して繰り返しを実行する。

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

C:\RubyTest>ruby test_sada9-3.rb
繰り返しを開始する。
_sadaNum = 39990
_sadaNum = 39991
_sadaNum = 39992
_sadaNum = 39993
_sadaNum = 39994
_sadaNum = 39995
_sadaNum = 39996
_sadaNum = 39997
_sadaNum = 39998
_sadaNum = 39999
_sadaNum = 40000
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = 39990
_sadaNum = 39991
_sadaNum = 39992
_sadaNum = 39993
_sadaNum = 39994
_sadaNum = 39995
_sadaNum = 39996
_sadaNum = 39997
_sadaNum = 39998
_sadaNum = 39999
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = 500
_sadaNum = 501
_sadaNum = 502
_sadaNum = 503
_sadaNum = 504
_sadaNum = 505
_sadaNum = 506
_sadaNum = 507
_sadaNum = 508
_sadaNum = 509
_sadaNum = 510
_sadaNum = 511
_sadaNum = 512
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = a
_sadaNum = b
_sadaNum = c
_sadaNum = d
_sadaNum = e
_sadaNum = f
_sadaNum = g
_sadaNum = h
_sadaNum = i
_sadaNum = j
_sadaNum = k
_sadaNum = l
_sadaNum = m
_sadaNum = n
_sadaNum = o
_sadaNum = p
_sadaNum = q
_sadaNum = r
_sadaNum = s
_sadaNum = t
_sadaNum = u
_sadaNum = v
_sadaNum = w
_sadaNum = x
_sadaNum = y
_sadaNum = z
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = Ax
_sadaNum = Ay
_sadaNum = Az
_sadaNum = Ba
_sadaNum = Bb
_sadaNum = Bc
_sadaNum = Bd
_sadaNum = Be
_sadaNum = Bf
_sadaNum = Bg
_sadaNum = Bh
_sadaNum = Bi
_sadaNum = Bj
_sadaNum = Bk
_sadaNum = Bl
_sadaNum = Bm
_sadaNum = Bn
_sadaNum = Bo
_sadaNum = Bp
_sadaNum = Bq
_sadaNum = Br
_sadaNum = Bs
_sadaNum = Bt
_sadaNum = Bu
_sadaNum = Bv
_sadaNum = Bw
_sadaNum = Bx
_sadaNum = By
_sadaNum = Bz
_sadaNum = Ca
_sadaNum = Cb
_sadaNum = Cc
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = a8
_sadaNum = a9
_sadaNum = b0
_sadaNum = b1
_sadaNum = b2
_sadaNum = b3
_sadaNum = b4
_sadaNum = b5
_sadaNum = b6
_sadaNum = b7
_sadaNum = b8
_sadaNum = b9
_sadaNum = c0
_sadaNum = c1
_sadaNum = c2
_sadaNum = c3
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = 1:1:8
_sadaNum = 1:1:9
_sadaNum = 1:2:0
_sadaNum = 1:2:1
_sadaNum = 1:2:2
_sadaNum = 1:2:3
_sadaNum = 1:2:4
_sadaNum = 1:2:5
_sadaNum = 1:2:6
_sadaNum = 1:2:7
_sadaNum = 1:2:8
_sadaNum = 1:2:9
_sadaNum = 1:3:0
_sadaNum = 1:3:1
_sadaNum = 1:3:2
_sadaNum = 1:3:3
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = xx
_sadaNum = xy
_sadaNum = xz
_sadaNum = ya
_sadaNum = yb
_sadaNum = yc
_sadaNum = yd
_sadaNum = ye
_sadaNum = yf
_sadaNum = yg
_sadaNum = yh
_sadaNum = yi
_sadaNum = yj
_sadaNum = yk
_sadaNum = yl
_sadaNum = ym
_sadaNum = yn
_sadaNum = yo
_sadaNum = yp
_sadaNum = yq
_sadaNum = yr
_sadaNum = ys
_sadaNum = yt
_sadaNum = yu
_sadaNum = yv
_sadaNum = yw
_sadaNum = yx
_sadaNum = yy
_sadaNum = yz
_sadaNum = za
_sadaNum = zb
_sadaNum = zc
繰り返しを終了する。

繰り返しを開始する。
_sadaNum = zyx
_sadaNum = zyy
_sadaNum = zyz
_sadaNum = zza
_sadaNum = zzb
_sadaNum = zzc
_sadaNum = zzd
_sadaNum = zze
_sadaNum = zzf
_sadaNum = zzg
_sadaNum = zzh
_sadaNum = zzi
_sadaNum = zzj
_sadaNum = zzk
_sadaNum = zzl
_sadaNum = zzm
_sadaNum = zzn
_sadaNum = zzo
_sadaNum = zzp
_sadaNum = zzq
_sadaNum = zzr
_sadaNum = zzs
_sadaNum = zzt
_sadaNum = zzu
_sadaNum = zzv
_sadaNum = zzw
_sadaNum = zzx
_sadaNum = zzy
_sadaNum = zzz
繰り返しを終了する。

繰り返しを開始する。
1、失敗している。繰り返しを終了する。

繰り返しを開始する。
2、失敗している。繰り返しを終了する。

繰り返しを開始する。
3、失敗している。繰り返しを終了する。

繰り返しを開始する。
4、失敗している。繰り返しを終了する。

繰り返しを開始する。
5、失敗している。繰り返しを終了する。

繰り返しを開始する。
6、失敗している。繰り返しを終了する。

C:\RubyTest>


Thursday,September,19,2013

プログラムの表示

=begin Thursday,September,19,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-3.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada9-3テキスト.txt(メモ帳の下書き名) #--------------------------------------------------- =begin 学習の概略 for 変数 in オブジェクト do 実行する処理1 実行する処理2 end イメージとしてはクラスの外に飛び出しているオブジェクトが所属するクラスのメソット「each」に、 範囲を指定した数字文字に対し他の演算子と連携し実行処理するように指示を出す。 メソット「each」は演算子「for」と連携して、指定した範囲内で変数に値を紐づけていく。 したがってメソット「each」が存在しないクラスのオブジェクトでは値の範囲を指定する事ができない。 範囲を指定する演算子「39_990..40_000」と、 範囲を指定した上で繰り返し値を処理していく「for」句を組み合わせることで繰り返し出力する。 39990を取得しend、そして先頭に戻る 39991を取得しend、そして先頭に戻る 39992を取得しend、そして先頭に戻る 39993を取得しend、そして先頭に戻る 39994を取得しend、そして先頭に戻る 39995を取得しend、そして先頭に戻る 39996を取得しend、そして先頭に戻る 39997を取得しend、そして先頭に戻る 39998を取得しend、そして先頭に戻る 39999を取得しend、そして先頭に戻る 40000を取得しend、そして先頭に戻るが範囲外なので終了 範囲を指定する演算子「39_990...40_000」は上記と似ているがドットが1つ増えた3つのドットである。 これは最後の尻尾の40000を取得しないで出力する演算子である。 範囲を指定する型は、文字列も使える。 お手本にあった文字列も試したがいくつか失敗してしまった。 原因は分らないが、書き残すことにする。 =end #! ruby -Ku require "kconv" print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in 39_990..40_000 do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") #○演算子「first...last」は最後の値を含まない。 print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in 39_990...40_000 do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") #○○下記はメソットではなく、クラスの外から直接クラス内のメソットにアクセスしている。 #○○機能は「39_990..4000」と同じ。 print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in Range.new(500,512,) do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") #通常のオブジェクトに戻る print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "a".."z" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "Ax".."Cc" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "a8".."c3" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "1:1:8".."1:3:3" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "xx".."zc" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "zyx".."zzz" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("繰り返しを終了する。\n")) print("\n") #--------------------------- #以下は失敗 print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "zz".."aaa" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("1、失敗している。繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "zzx".."aaaa" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("2、失敗している。繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "Zx".."Aac" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("3、失敗している。繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "z".."ac" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("4、失敗している。繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "zz".."aac" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("5、失敗している。繰り返しを終了する。\n")) print("\n") print(Kconv.tosjis("繰り返しを開始する。\n")) for _sadaNum in "Zx".."AAc" do print("_sadaNum = ", _sadaNum, "\n") end print(Kconv.tosjis("6、失敗している。繰り返しを終了する。\n")) print("\n")


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

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

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