職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

クラス変数

2022年08月08日 | ruby 3.1.2
クラス変数


【開発環境】
OS:Win11(64ビット)
Ruby 3.1.2

■クラス変数
クラス変数→クラスと、そのインスタンス全て使用できる変数で、@@変数名のように書く

「クラス変数.rb」ファイルを書く
#消費税額を計算するクラス
class TaxCalc
#クラス変数を宣言
@@tax_rate = 0.08

#インスタンス変数を初期化
def initialize(price)
@price = price
end

#消費税計算の実処理
def execute
@price * @@tax_rate
end
end

#executeメソッドを実行
calculator = TaxCalc.new(100)
p calculator.execute

・コマンドで実行する
Microsoft Windows [Version 10.0.22000.795]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Owner>ruby D:\pg\Ruby31-x64\サンプルプログラム\クラス変数.rb
8.0

C:\Users\Owner>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

インスタンス変数

2022年08月07日 | ruby 3.1.2
インスタンス変数


【開発環境】
OS:Win11(64ビット)
Ruby 3.1.2

■インスタンス変数
クラスのデータを特定の範囲で共有したい場合で、同一インスタンスで用いられる変数

例文
「インスタンス変数」ファイルを書く
#消費税額を計算するクラス
class TaxCalc
#インスタンス変数の初期化
def initialize(price,tax_rate)
@price = price
@tax_rate = tax_rate
end

#消費税計算の実処理
def execute
@price * @tax_rate
end
end

# executeメソッドを実行
calculator = TaxCalc.new(100,0.08)
p calculator.execute

・コマンド実行
Microsoft Windows [Version 10.0.22000.795]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Owner>ruby D:\pg\Ruby31-x64\サンプルプログラム\インスタンス変数.rb
8.0

C:\Users\Owner>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

オリジナルクラスを作るには

2022年08月05日 | ruby 3.1.2
オリジナルクラス


【開発環境】
OS:Win11(64ビット)
Ruby 3.1.2

1.クラスを定義する方法
 class クラス名 ←先頭大文字のアルファベット
def メソッド名←小文字のアルファベット
   処理
  end
end

インスタンス = クラス.new
インスタンス.メソッド

2.実践
「tax_cakc.rb」ファイルを作る。
#消費税額を計算するクラス
class TaxCalc
#インスタンス生成する時の処理
def initialize
p 'calculator is starting'
end

#消費税計算の実処理
def execute(price,tax_rate)
price * tax_rate
end
end

#TaxCaleクラスノイスタンスを生成する
calculator = TaxCalc.new

#executerメソッドの実行
p calculator.execute(100,0.08)

3.コマンド
C:\Users\Owner>ruby D:\pg\Ruby31-x64\サンプルプログラム\tax_calc.rb
"calculator is starting"
8.0

C:\Users\Owner>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

rubyのクラスについて

2022年08月03日 | ruby 3.1.2
オブジェクトとクラス


【開発環境】
OS:Win11(64ビット)
Ruby 3.1.2

【クラス】
クラスとは、インスタンスの元となる、オブジェクト指向の設計図のようなものです。 クラスからインスタンスを作成し、そのインスタンスで処理を行います。
また、Rubyではすべてのデータがオブジェクトとして表現され、オブジェクトには様々なメソッドが、備わっている。

例えば、
1などの数値であれば、Integerというクラスが用意されている→1と言うオブジェクトは、Integerクラスの実体(インスタンス)と、言える。

【クラスを確認する】

C:\Users\Owner>irb
irb(main):001:0> p 1.class
Integer
=> Integer
irb(main):002:0> p 1.08.class
Float
=> Float
irb(main):003:0> p 'a'.class
String
=> String
irb(main):004:0> p [1,2].class
Array
=> Array
irb(main):005:0> p({a:1}).class
{:a=>1}
=> Hash
irb(main):006:0>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

引数のデフォルト値

2022年08月02日 | ruby 3.1.2
メソッドの引数のデフォルト値


【開発環境】
OS:Win11(64ビット)
Ruby 3.1.2

【引数のデフォルト値を代入する】

・形式
def メソッド(引数=デフォルト値)
 実行する処理
end

・例文
「6-4.rb」ファイル
def calc_tax(price,tax_rate = 0.08)
tax = (price * tax_rate).to_i
tax_included = price + tax
{tax:tax,tax_included:tax_included}
end

p calc_tax(100,01)
p calc_tax(100)

コマンド
D:\pg\Ruby31-x64>ruby 6-4.rb
{:tax=>100, :tax_included=>200}
{:tax=>8, :tax_included=>108}

【引数のデフォルト値をハッシュ形式で代入する】

・形式
def メソッド(引数:デフォルト値)
 実行する処理
end

例文
C:\Users\Owner>irb
irb(main):001:1* def calc_tax(price,tax_rate:0.08)
irb(main):002:1* tax = (price * tax_rate).to_i
irb(main):003:1* tax_included = price + tax
irb(main):004:1* {tax:tax,tax_included:tax_included}
irb(main):005:0> end
=> :calc_tax
irb(main):006:0> p calc_tax(100,tax_rate: 0.1)
{:tax=>10, :tax_included=>110}
=> {:tax=>10, :tax_included=>110}
irb(main):007:0> p calc_tax(100)
{:tax=>8, :tax_included=>108}
=> {:tax=>8, :tax_included=>108}
irb(main):008:0>
【引数を一括で配列として変数に代入する】

・形式
def メソッド(*引数名)
 実行する処理
end

「6-4-7.rb」ファイル
def calc_tax(*values)
price = values[0]
tax_rate = values[1]
tax = (price * tax_rate).to_i
tax_included = price + tax
{tax:tax,tax_included:tax_included}
end

p calc_tax(100,0.08)

コマンド
C:\Users\Owner>ruby D:\pg\Ruby31-x64\6-4-7.rb
{:tax=>8, :tax_included=>108}
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする