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