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


Rubyの学習 free176
配列のいろいろ、後でまとめます。

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

C:\RubyTest>ruby test_sada10-2.rb 
○No01 配列オブジェクトの短縮--------------------------
配列オブジェクトの要素には以下の値を名札付けした
Array["Blue", "Blue"]
Blue
Blue
8908824
8908632

試しにシングルクォーテーションでくくります
かっこの後ろのセミコロン(;)も取り除いてみた
配列オブジェクトを作成するにあたりカッコの左のArrayも取り除いてみた
配列オブジェクトの要素には以下の値を名札付けした
["SADACHIKA", "SADACHIKA", "Sadachika"]
SADACHIKA
SADACHIKA
Sadachika
8906964
8906952
8906940

配列オブジェクトの要素には以下の値を名札付けした
["定近", "定近", "充始"]
定近
定近
充始
8905932
8905920
8905908


○No02 同じ値を別々の名札で紐付けている感じ--------------------------
配列オブジェクトの要素には以下の値を名札付けした
_sada1 = [nil, nil, nil]



4
4
4

配列オブジェクトの要素には以下の値を名札付けした
_sada1 = Array.new(3) これは空の要素を3つ作ったという事である。
3つの名札から紐付けられている値はnilただそれ1つ。
この用途はいつか使用することがあるのかな?意味が分らない



4
4
4

配列オブジェクトの要素には以下の値を名札付けした
_sada1 = Array.new(3, "Sadachika")
3つの名札から紐付けられている値はSadachikaただそれ1つ。
この用途はいつか使用することがあるのかな?意味が分らない
Sadachika
Sadachika
Sadachika
8927604
8927604
8927604


○No03 別々に名札付けした事になるらしい--------------------------
配列オブジェクトの要素には以下の値を名札付けした
_sada1 = Array.new(3){2013年09月25日}
配列オブジェクトの3つの要素に同じオブジェクトを別々に名札付けした事になるらしい。
2013年09月25日
2013年09月25日
2013年09月25日
8926536
8926524
8926512

配列オブジェクトの要素には以下の値を名札付けした
Array.new(3){"Blue"}
配列オブジェクトの3つの要素に同じオブジェクトを別々に名札付けした事になるらしい。
Blue
Blue
Blue
8925540
8925528
8925516

配列オブジェクトの要素には以下の値を名札付けした
_sada1 = Array.new(3){"定近"}
配列オブジェクトの3つの要素に同じオブジェクトを別々に名札付けした事になるらしい。
定近
定近
定近
8924508
8924496
8924484

配列オブジェクトの要素には以下の値を名札付けした
_sada1 = Array.new(3){nil}
ここは例外で同一である。


4
4
4

配列オブジェクトの要素には以下の値を名札付けした
_sada1 = Array.new(3){20130925}
ここは例外で同一である。
20130925
20130925
20130925
40261851
40261851
40261851


○No04 配列オブジェクトの引数の欄に配列オブジェクトを格納。--------------------------
配列オブジェクトの要素には以下の値を名札付けした
["定近", "広島", "充始"]
これから配列オブジェクトの引数の欄に配列オブジェクトに名札付けした変数を格納すしてみる。
下記
定近
広島
充始
8921220
8921208
8921196

配列オブジェクトの要素には以下の値を名札付けした
_atsu2 = Array.new(_sada1)
これから配列オブジェクトの引数の欄に配列オブジェクトに名札付けした変数を格納すしてみる。
定近
広島
充始
8921220
8921208
8921196

そつなく終了-------------------------


ruby test_sada10-2.rb 



Wednesday,September,25,2013

プログラムの表示

=begin Wednesday,September,25,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_sada10-2.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada10-2テキスト #--------------------------------------------------- #! ruby -Ku require "kconv" print("○No01 配列オブジェクトの短縮--------------------------\n") _sada1 = Array["Blue", "Blue"] print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした Array["Blue", "Blue"]'), "\n"); print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print("\n") print(Kconv.tosjis('試しにシングルクォーテーションでくくります かっこの後ろのセミコロン(;)も取り除いてみた 配列オブジェクトを作成するにあたりカッコの左のArrayも取り除いてみた'), "\n") # 要素 要素 要素 # ↓0番 ↓1番 ↓2番 番号はインデックスと呼ぶ _sada1 = ["SADACHIKA", "SADACHIKA", "Sadachika"] print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした ["SADACHIKA", "SADACHIKA", "Sadachika"]'), "\n") print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _sada1 = ["定近", "定近", "充始"] print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした ["定近", "定近", "充始"]'), "\n") #改行はシングルではなくダブルクォーテーションでないと実行されない print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") print("\n") print("○No02 同じ値を別々の名札で紐付けている感じ--------------------------\n") _sada1 = [nil, nil, nil] print(Kconv.tosjis("配列オブジェクトの要素には以下の値を名札付けした _sada1 = [nil, nil, nil]"), "\n") print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _sada1 = Array.new(3) print(Kconv.tosjis("配列オブジェクトの要素には以下の値を名札付けした _sada1 = Array.new(3) これは空の要素を3つ作ったという事である。 3つの名札から紐付けられている値はnilただそれ1つ。 この用途はいつか使用することがあるのかな?意味が分らない"), "\n") print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _sada1 = Array.new(3, "Sadachika") print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした _sada1 = Array.new(3, "Sadachika") 3つの名札から紐付けられている値はSadachikaただそれ1つ。 この用途はいつか使用することがあるのかな?意味が分らない'), "\n") print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") print("\n") print("○No03 別々に名札付けした事になるらしい--------------------------\n") _sada1 = Array.new(3){"2013年09月25日"} print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした _sada1 = Array.new(3){2013年09月25日} 配列オブジェクトの3つの要素に同じオブジェクトを別々に名札付けした事になるらしい。'), "\n"); print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _sada1 = Array.new(3){"Blue"} print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした Array.new(3){"Blue"} 配列オブジェクトの3つの要素に同じオブジェクトを別々に名札付けした事になるらしい。'), "\n"); print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _sada1 = Array.new(3){"定近"} print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした _sada1 = Array.new(3){"定近"} 配列オブジェクトの3つの要素に同じオブジェクトを別々に名札付けした事になるらしい。'), "\n"); print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _sada1 = Array.new(3){nil} print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした _sada1 = Array.new(3){nil} ここは例外で同一である。'), "\n"); print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _sada1 = Array.new(3){20130925} print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした _sada1 = Array.new(3){20130925} ここは例外で同一である。'), "\n"); print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") print("\n") print("○No04 配列オブジェクトの引数の欄に配列オブジェクトを格納--------------------------\n") _sada1 = ["定近", "広島", "充始"] print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした ["定近", "広島", "充始"] これから配列オブジェクトの引数の欄に配列オブジェクトに名札付けした変数を格納してみる。 下記'), "\n") print(_sada1[0], "\n") print(_sada1[1], "\n") print(_sada1[2], "\n") print(_sada1[0].object_id, "\n") print(_sada1[1].object_id, "\n") print(_sada1[2].object_id, "\n") print("\n") _atsu2 = Array.new(_sada1) print(Kconv.tosjis('配列オブジェクトの要素には以下の値を名札付けした _atsu2 = Array.new(_sada1) これから配列オブジェクトの引数の欄に配列オブジェクトに名札付けした変数を格納してみる。'), "\n") print(_atsu2[0], "\n") print(_atsu2[1], "\n") print(_atsu2[2], "\n") print(_atsu2[0].object_id, "\n") print(_atsu2[1].object_id, "\n") print(_atsu2[2].object_id, "\n") print("\n") print("そつなく終了-------------------------\n") =begin 以上おわりました =end


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

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

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