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''クラスに継承している。