1 n = 10
2 def var1(k)
3 for n in 0..k do
4 printf("for文中の n の値は %d \n",n)
5 end
6 printf("defの(forの外)の n の値は %d \n",n)
7 end
8 var1(5)
9 printf("defの外の n の値は %d \n",n)
セクション12.2を参照のこと。
1 class Variable
2 def var_1
3 a = 10
4 @b = a + 10
5 printf(" var_1 の中の a = %d \n", a)
6 end
7
8 def var_2
9 a = 20
10 printf(" var_2 の中の a = %d \n", a )
11 printf(" var_2 の中の @b = %d \n", @b)
12 end
13 end
14
15 c1 = Variable.new
16
17 c2 = Variable.new
18
19 c1.var_1
20 c1.var_2
21 c2.var_2
セクション12.3を参照のこと。
1 class Variable
2 def var_1
3 a = 10
4 @@b = a + 10
5 printf(" var_1 の中の a = %d \n", a)
6 end
7
8 def var_2
9 a = 20
10 printf(" var_2 の中の a = %d \n", a )
11 printf(" var_2 の中の @@b = %d \n", @@b)
12 end
13 end
14
15 c1 = Variable.new
16
17 c2 = Variable.new
18
19 c1.var_1
20 c1.var_2
21 c2.var_2
セクション12.4を参照のこと。
require 'ennClass'は、なにを意味しているか?
---------------------------- Program Start -----------------------
1 require 'ennClass'
2 class Taiseki
3 def enchu(r,h) # 円柱の体積を求めるためのメソッド定義
4 a = Enn.new # 読み込んだプログラムの "Enn" クラスの
5 # インスタンスを 生成している。
6 b = a.menseki(r)
7 v = b * h
8 return v
9 end
10 end
11 if $0 == __FILE__
12 a = Taiseki.new
13 printf("円柱の体積は %f です。\n", a.enchu(2,5))
14 end
---------------------------- Program End -------------------------
if $0 == __FILE__は、なにを意味しているか?
class Taiseki < Ennとした。前問の ``def''から ``end''までを書き換えよ。
(答え)
def enchu(r,h)
b = menseki(r)
v = b * h
return v
end
※ 4行目を削除し、6行目を書き換えた。
---------------------------- Program Start ----------------------------
1: require 'ennClass'
2: class Taiseki < Enn
3: def enchu(r,h) # 円柱の体積を求めるためのメソッド定義
4: b = menseki(r) # 円の面積計算
5: v = b * h
6: return v
7: end
8: end
9: if $0 == __FILE__
10: a = Taiseki.new
11: printf("円柱の体積は %f です。\n", a.enchu(2,5))
12: end
---------------------------- Program Start ----------------------------
(解答)
1行目では、プログラム``ennClass.rb''を読み込んでいる。
2行目は ``Enn''クラスを ``Taiseki''クラスに継承している。