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


Rubyの学習 free158
値を連結する文法をいろいろ試した

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

C:\RubyTest>ruby test_sada5-1.rb
乗算 32.5 * 4 = 130.0 減算 100 - 17 = 83
やっぱり文字列のStringクラスの「+」メソッドは、
文字列と文字列しか繋げる事ができない。
文字列と整数、文字列と浮動小数点は「+」メソッドでは繋げられない。
整数のクラスは Fixnum
浮動小数点のクラスは Float
大きい数字のクラスは Bignum
テストby定近

定近です、このサイトの管理人をしています。
以上 定近 でした。

変数名はアンダーバーから始められる _sada_Sales2013 = 1200
変数名はアンダーバーから始められる _sada_back_groundColor = White
変数名はアンダーバーから始められる _sada_Width = 120 変数 _sada_Height = 60

160 + 70 = 230
6 + 17 + 35 = 58

当サイトの管理をしております、定近充始 です。
当サイトの管理をしております、定近充始 です。
当サイトの管理をしております、充始定近 です。

Hiroshima,Japan
当サイトを管理しております、定近
当サイトを管理しております、定近充始
当サイトを管理しております、定近充始 です。

C:\RubyTest>


Saturday,September,7,2013

プログラムの表示

=begin Friday,September,6,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_sada5-1.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada5-1テキスト #--------------------------------------------------- #! ruby -Ku require "kconv" #○メモ、文字列の出力字に改行を行なうために、わざわさ「\n」を使用しなくてもそのまま改行は改行になる。 _sadaCalc1 = 32.5 * 4 _sadaCalc2 = 100 - 17 print("乗算 32.5 * 4 = ", _sadaCalc1, " 減算 100 - 17 = ", _sadaCalc2, "\n") print(Kconv.tosjis("やっぱり文字列のStringクラスの「+」メソッドは、\n文字列と文字列しか繋げる事ができない。 文字列と整数、文字列と浮動小数点は「+」メソッドでは繋げられない。 整数のクラスは Fixnum \n浮動小数点のクラスは Float \n大きい数字のクラスは Bignum \nテストby定近\n")) print("\n") #------------------------------------ _sadaName = "定近" print(Kconv.tosjis(_sadaName + "です、このサイトの管理人をしています。\n")) print(Kconv.tosjis("以上 " + _sadaName + " でした。\n")) print("\n") #------------------------------------ _sada_Sales2013 = 1200 _sada_back_groundColor = "White" _sada_Width = 120 _sada_Height = 60 print("変数名はアンダーバーから始められる _sada_Sales2013 = ", _sada_Sales2013, "\n") #○ここは、文字列と文字列を連結するために、文字列のStringクラスの「+」メソッドで繋ぎ合わせた。 print("変数名はアンダーバーから始められる _sada_back_groundColor = " + _sada_back_groundColor + "\n") #○整数と文字列を繋ぐのに、文字列のStringクラスの「+」メソッドを使用することはできない(だからコンマを使用した)。 print("変数名はアンダーバーから始められる _sada_Width = ", _sada_Width, " 変数 _sada_Height = ", _sada_Height, "\n") print("\n") #------------------------------------ #これは文字列をつなげるのではなくて、変数に名札を付けられたオブジェクトを演算にしている。 _sadaNum = 160 _sadaCalc = _sadaNum + 70 print(_sadaNum, " + 70 = ", _sadaCalc, "\n") _sadaNum1 = 6 _sadaNum2 = 17 _sadaNum3 = 35 _sadaSum = _sadaNum1 + _sadaNum2 + _sadaNum3 print(_sadaNum1, " + ", _sadaNum2, " + ", _sadaNum3, " = ", _sadaSum, "\n") print("\n") #------------------------------------ #結合する値が同じ文字列であるなら、文字列のStringクラスの「+」メソッドで連結が可能。 #文字列オブジェクトと文字列オブジェクトを連結して新しい文字列オブジェクトを作成することが出来ます。 #連結により結合された文字列が作成できるが、元の文字列に変化はない。 print(Kconv.tosjis("当サイトの管理をしております、" + "定近充始 です" + "\n")) _sadaStr1 = "当サイトの管理をしております、" _sadaStr2 = "定近" _sadaStr3 = "充始" _sadaStr4 = " です。" _sadaStr = _sadaStr1 + _sadaStr2 + _sadaStr3 + _sadaStr4 print(Kconv.tosjis(_sadaStr), "\n") #○元の文字列に変化がないので、連結する順番を入れ替える。 _sadaStr = _sadaStr1 + _sadaStr3 + _sadaStr2 + _sadaStr4 print(Kconv.tosjis(_sadaStr), "\n") print("\n") #------------------------------------ #文字列オブジェクトと文字列オブジェクトを連結する。 #これは、元の「当サイトを管理しております、」そのものが「当サイトを管理しております、定近」に変わるのだそうだ。 #(文字列そのものがオブジェクトなので、Stringクラスの何らかのメソッドを通過して文字列オブジェクトとして存在しているのだろう、未理解) #「<<」と「.concat 」はまったく同じ処理を行なう。 #英文字は文字化けの心配がなので、「Kconv.tosjis」を用いて出力時にShift_JISに変換する必要がない。 print("Hiroshima" << ",Japan") print("\n") print(Kconv.tosjis("当サイトを管理しております、" << "定近" + "\n")) print(Kconv.tosjis("当サイトを管理しております、定近".concat "充始" + "\n")) print(Kconv.tosjis("当サイトを管理しております、定近充始" << " です。" + "\n"))


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

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

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