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


Rubyの学習 free159
除算、if句、true、false など

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

C:\RubyTest>ruby test_sada7-1.rb
5367÷39 = 137余り・・・24

除算の解は割り切れましたのでプログラムはエンドまでスルーされました。
10 ÷ 1 = 10 余り・・・0 です。
除算の解は割り切れましたのでプログラムはエンドまでスルーされました。
10 ÷ 2 = 5 余り・・・0 です。
除算の解は割り切れませんでした。
10 ÷ 3 = 3 余り・・・1 です。
除算の解は割り切れませんでした。
10 ÷ 4 = 2 余り・・・2 です。
除算の解は割り切れましたのでプログラムはエンドまでスルーされました。
10 ÷ 5 = 2 余り・・・0 です。
除算の解は割り切れませんでした。
10 ÷ 6 = 1 余り・・・4 です。
除算の解は割り切れませんでした。
10 ÷ 7 = 1 余り・・・3 です。
除算の解は割り切れませんでした。
10 ÷ 8 = 1 余り・・・2 です。
除算の解は割り切れませんでした。
10 ÷ 9 = 1 余り・・・1 です。
除算の解は割り切れましたのでプログラムはエンドまでスルーされました。
10 ÷ 10 = 1 余り・・・0 です。

true
false
false

false
true
false

false
false
true

false
false

来年は 2014 年です。
出身は 広島 です。
名前は 定近 です。

「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真と
なります。
入力した値は、1 で true です。

スルーされてエンドに移動しました。
入力した値は、1 = 8 で false です。

「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真と
なります。
入力した値は、あ で true です。

「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真と
なります。
入力した値は、い で true です。

「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真と
なります。
入力した値は、定近 で true です。

false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真と
なります。
入力した値は、定近 で true です。

「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真と
なります。
入力した値は、充始 で true です。

TrueClass
FalseClass
NilClass

String
String
String

String
String
String

TrueClass
FalseClass
NilClass

Fixnum
Float
Bignum

C:\RubyTest>


Monday,September,9,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_sada7-1.rb そして保存したファイル名を打ち込む。 =end #コメントテスト、ファイル名test_sada7-1テキスト #--------------------------------------------------- #! ruby -Ku require "kconv" print("5367÷39 = 137余り・・・", 5367%39, "\n") print("\n") #変数を式展開(#{})ではなくコンマ(,)で連結している。 #また、モジュール関数「Kconv.tosjis()」を2度もちいることで文字列を2箇所Shift_JIS変換している。 #かっこを用いる式展開もおさらいしている、式展開の説明は下記にも書いた。 #今後の課題は、割り算(除算)の回答において小数点以下の桁を任意で設定したい。 _sadaAmari = 10 % 1 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 1 = 10 余り・・・#{10 % 1} です。\n")) end print(Kconv.tosjis("除算の解は割り切れましたのでプログラムはエンドまでスルーされました。\n")) print(Kconv.tosjis("10 ÷ 1 = 10 余り・・・#{10 % 1} です。\n")) _sadaAmari = 10 % 2 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 2 = 5 余り・・・#{_sadaAmari} です。\n")) end print(Kconv.tosjis("除算の解は割り切れましたのでプログラムはエンドまでスルーされました。\n")) print(Kconv.tosjis("10 ÷ 2 = 5 余り・・・#{_sadaAmari} です。\n")) _sadaAmari = 10 % 3 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 3 = 3 余り・・・#{_sadaAmari} です。\n")) end _sadaAmari = 10 % 4 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 4 = 2 余り・・・#{_sadaAmari} です。\n")) end _sadaAmari = 10 % 5 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 5 = 2 余り・・・"), _sadaAmari, Kconv.tosjis(" です。\n")) end print(Kconv.tosjis("除算の解は割り切れましたのでプログラムはエンドまでスルーされました。\n")) print(Kconv.tosjis("10 ÷ 5 = 2 余り・・・"), _sadaAmari, Kconv.tosjis(" です。\n")) _sadaAmari = 10 % 6 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 6 = 1 余り・・・"), _sadaAmari, Kconv.tosjis(" です。\n")) end _sadaAmari = 10 % 7 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 7 = 1 余り・・・"), _sadaAmari, Kconv.tosjis(" です。\n")) end _sadaAmari = 10 % 8 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 8 = 1 余り・・・"), _sadaAmari, Kconv.tosjis(" です。\n")) end _sadaAmari = 10 % 9 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした。\n")) print(Kconv.tosjis("10 ÷ 9 = 1 余り・・・#{_sadaAmari} です。\n")) end _sadaAmari = 10 % 10 if _sadaAmari != 0 then print(Kconv.tosjis("除算の解は割り切れませんでした\n")) print(Kconv.tosjis("10 ÷ 10 = 1 余り・・・#{10 % 1} です。\n")) end print(Kconv.tosjis("除算の解は割り切れましたのでプログラムはエンドまでスルーされました。\n")) print(Kconv.tosjis("10 ÷ 10 = 1 余り・・・#{10 % 1} です。\n")) print("\n") #----------------------- #真の「true」と、偽の「false」と「nil」の判定 #「nil」は、オブジェクトに値が何もない場合である(オブジェクトはクラス内のメソットで処理された値が入出力されている)。 print(1 == 1, "\n") print(1 == 2, "\n") print(1 == 3, "\n") print("\n") print(2 == 1, "\n") print(2 == 2, "\n") print(2 == 3, "\n") print("\n") print(3 == 1, "\n") print(3 == 2, "\n") print(3 == 3, "\n") print("\n") print(3 == "null", "\n") print(3 == "\n") print("\n") print("\n") #----------------------- #おさらい、演算式や変数をかっこで囲む事で、文字列を連結して演算結果を式展開(出力)できる。 print("来年は #{2013 + 1} 年です。\n") _sada_name = "広島" print("出身は #{_sada_name} です。\n") print(Kconv.tosjis("名前は #{'定近'} です。\n")) print("\n") #----------------------- #if文の条件式を段落で改行する場合は「then」を省略できる。 if 1 then print("「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真となります。\n") print("入力した値は、#{1} で #{1==1} です。\n") end print("\n") #スルーされてエンドに移動 if 1 == 8 then print("「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真となります。\n") print("入力した値は、#{'1 = 8'} で #{1==8} です。\n") end print("スルーされてエンドに移動しました。\n") print("入力した値は、#{'1 = 8'} で #{1==8} です。\n") print("\n") if (Kconv.tosjis("あ")) then print("「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真となります。\n") print("入力した値は、#{"あ"} で #{"あ"=="あ"} です。\n") end print("\n") if Kconv.tosjis('い') print("「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真となります。\n") print("入力した値は、#{'い'} で #{'い'=='い'} です。\n") end print("\n") if (Kconv.tosjis('定近')) then print("「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真となります。\n") print("入力した値は、#{'定近'} で #{'定近'=='定近'} です。\n") end print("\n") _sadaName = "定近" if _sadaName print("「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真となります。\n") print("入力した値は、#{_sadaName} で #{"定近"=="定近"} です。\n") end print("\n") _sadaName = '充始' if _sadaName print("「false」と「nil」以外は真となるため、条件式が設定されていないこのケースでは真となります。\n") print("入力した値は、#{_sadaName} で #{'充始'=='充始'} です。\n") end print("\n") #----------------------- #クラスの確認はここでした(free157.html) #「true」と「false」と「nil」「文字列」「整数」「浮動小数点」「大きな数」のクラスを確認する print(true.class, "\n") print(false.class, "\n") print(nil.class, "\n") print("\n") print("暑いですね".class(), "\n") print("そろそろ".class(), "\n") print("秋です".class(), "\n") print("\n") print('true'.class(), "\n") print('false'.class(), "\n") print('nil'.class(), "\n") print("\n") print(true.class(), "\n") print(false.class(), "\n") print(nil.class(), "\n") print("\n") print(2013.class(), "\n") print(3.14.class(), "\n") print(20130909191000000000000000123.class(), "\n")


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

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

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