def plus(x,y) x-y x+y endのように定義すると,x-yの結果は捨てられてx+yを返す関数になる.
def make2d(h,w)
c=Array.new(h)
for i in 0..(h-1)
c[i]=make1d(w)
end
end
では,3行目から5行目のfor文が最後の式になるが,この式の値は返したいcとは
異なる.
def make2d(h,w)
c=Array.new(h)
for i in 0..(h-1)
c[i]=make1d(w)
end
c
end
のようにすべき.なお,講義では扱わないが,関数のどこからでも値を返すreturn文というものもあり,そちらを使って
def make2d(h,w)
c=Array.new(h)
for i in 0..(h-1)
c[i]=make1d(w)
end
return c
end
と書いても良い.
def make2d(h,w)
load "./make1d.rb"
c=Array.new(h)
for i in 0..(h-1)
c[i]=make1d(w)
end
c
end
これでも問題なく動きはするが,make2dの計算をするたびにファイル"make1d.rb"の
ロードをし直すので少々効率が悪い.
load "./make1d.rb"
def make2d(h,w)
c=Array.new(h)
for i in 0..(h-1)
c[i]=make1d(w)
end
c
end
のように書くと,このファイル(例えば,"make2d.rb")をロードする時に1回だけ"make1d.rb"をロードするので,こちらの方が良い.
ruby vote.rb 選択肢番号のように使う.
p.43, 練習3.10(b) 誤 き sum3(a,3)は 3 と 4 の平均である 3.5 と答える。 正 き sum(a,3)は 3 と 4 の和である 7 と答える。