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


Rubyの学習 free182
ハシュを詳しく見ていく

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

C:\RubyTest>ruby test_sada11-2.rb
ハシュオブジェクトのキーと数字オブジェクトを繰り返し変数「_sadaKey, _sadaVal」に
名札付けしていく
キー _sadaKey:Sadachika  値である数字オブジェクト_sadaVal:34
キー _sadaKey:Kittaka  値である数字オブジェクト_sadaVal:28
キー _sadaKey:Hirayama  値である数字オブジェクト_sadaVal:18

ハシュオブジェクトのキーと数字オブジェクトを繰り返し変数「_sadaKey, _sadaVal」に
名札付けしていく
キー _sadaKey:8832552  値である数字オブジェクト_sadaVal:69
キー _sadaKey:8832540  値である数字オブジェクト_sadaVal:57
キー _sadaKey:8832528  値である数字オブジェクト_sadaVal:37



コピーしてみる
ハジュオブジェクトを変数に名札付けしてみる
キー _sadaKey:Sadachika  値である数字オブジェクト_sadaVal:34
キー _sadaKey:Kittaka  値である数字オブジェクト_sadaVal:28
キー _sadaKey:Hirayama  値である数字オブジェクト_sadaVal:18

ハシュオブジェクトのキーと数字オブジェクトを繰り返し変数「_sadaKey, _sadaVal」に
名札付けしていく
キー _sadaKey:8832552  値である数字オブジェクト_sadaVal:69
キー _sadaKey:8832540  値である数字オブジェクト_sadaVal:57
キー _sadaKey:8832528  値である数字オブジェクト_sadaVal:37

C:\RubyTest>




Sunday,September,29,2013

プログラムの表示

=begin Sunday,September,29,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_sada11-2.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada11-2テキスト #--------------------------------------------------- #! ruby -Ku require "kconv" #ハッシュクラスのクラスメソットを使ってハジュオブジェクトを作成する #ハジュオブジェクトは、要素であるキー(左)と値の数値オブジェクト(右)の2つセットで1つのハジュオブジェクトである #この(each)はオブジェクトではないくメソッド。 #この(each)メソットは、クラス内の(each)メソットを呼び出し、値に変数の名札を付けるように命令しているのだろう。 #変数に繰り返し値が名札付けられ、繰り返しプリントされてもいる。 #変数(_sadaHash)により名札付けされたハシュオブジェクトの各要素(キー、数字オブジェクト)が繰り返し変数(_sadaKey, _sadaVal)に名札付けされ出力される =begin Hash[key,value,...] =end #○注意、ハシュオブジェクトのカッコの左にHashと付けるときは、{}のカッコではなく[]のカッコである。 _sadaHash = Hash["Sadachika" => 34, "Kittaka" => 28, "Hirayama" => 18] print(Kconv.tosjis("ハシュオブジェクトのキーと数字オブジェクトを繰り返し変数「_sadaKey, _sadaVal」に名札付けしていく\n")) _sadaHash.each do |_sadaKey, _sadaVal| print(Kconv.tosjis("キー _sadaKey:"), _sadaKey, Kconv.tosjis(" 値である数字オブジェクト_sadaVal:"), _sadaVal, "\n") end print("\n") print(Kconv.tosjis("ハシュオブジェクトのキーと数字オブジェクトを繰り返し変数「_sadaKey, _sadaVal」に名札付けしていく\n")) _sadaHash.each do |_sadaKey, _sadaVal| print(Kconv.tosjis("キー _sadaKey:"), _sadaKey.object_id, Kconv.tosjis(" 値である数字オブジェクト_sadaVal:"), _sadaVal.object_id, "\n") end print("\n\n") print(Kconv.tosjis("コピーしてみる ハジュオブジェクトを変数に名札付けしてみる\n")) _sadaHash2 = _sadaHash _sadaHash2.each do |_sadaKey2, _sadaVal2| print(Kconv.tosjis("キー _sadaKey2:"), _sadaKey2, Kconv.tosjis(" 値である数字オブジェクト_sadaVal2:"), _sadaVal2, "\n") end print("\n") print(Kconv.tosjis("ハシュオブジェクトのキーと数字オブジェクトを繰り返し変数「_sadaKey, _sadaVal」に名札付けしていく\n")) _sadaHash2.each do |_sadaKey2, _sadaVal2| print(Kconv.tosjis("キー _sadaKey2:"), _sadaKey2.object_id, Kconv.tosjis(" 値である数字オブジェクト_sadaVal2:"), _sadaVal2.object_id, "\n") end print("\n\n")


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

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

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