# bmi_yp load("./bmi.rb") load("./yardpound.rb") def bmi_yp(f,i,p,o) bmi(feet_to_cm(f,i),pound_to_kg(p,o)) end ci131005m:~ 5022803735$ irb irb(main):001:0> load("./bmi_yp") LoadError: no such file to load -- ./bmi_yp from (irb):1:in `load' from (irb):1 irb(main):002:0>
irb(main):001:0> load("./bmi_yp") LoadError: no such file to load -- ./bmi_ypこのエラーを見ると,ファイルがありませんと言われているので,ファイルを作成した場所で動作させていますか?ファイル名に間違いはありませんか? また,load("./bmi_yp")はload("./bmi_yp.rb")でないと動かないと思います. 試してみてください.
def pound_to_kg(p,o) (p+o/16)*0.4536 end def feet_to_cm(f,i) (f+i/12)*30.48 end def bmi_yp(f,i,p,o) bmi(feet_to_cm(f,i),pound_to_kg(p,o)) end irb(main):021:0> bmi_yp(5,11,170,0) => 33.2010664021328bmi_yp(5,11,170,0)の値がどうしても33.2010664021328になってしまいます。
(f+i/12)*30.48 (p+o/16)*0.4536は
(f+i/12.0)*30.48 (p+o/16.0)*0.4536としないと,商は整数になってしまいます.
include(Math)を入力するように書いていますが,毎回入力するのが面倒な場合は,ホームディレクトリの下に「.irbrc」というテキストファイルを作り,その中に
include(Math)と書いておくと,irb起動時にこのファイルの中身を実行してくれるので,毎回指定しなくても大丈夫です.ただし,このファイルの実行中にエラーが出ないように正しく記述剃る必要があります.また,
Math.sqrt(2)のような形で指定すれば,
include(Math)は不要です.
の画面が出るので,モードを「Ruby」にして,改行コードを「LF(UNIX)」にして,ウィンドウを閉じてください.以降は,ファイル作成のさいに,「ファイル」->「新規」->「Ruby」で作成すると正しい改行コードが設定されているはずです.
ruby vote.rb 選択肢番号のように使います.