11/19 関数から「計算」へ


前回の感想,質問より

Q.
先に定義したものはloadしなくてよいのでしょうか。 def combination(n,k)の前にload factorial(n)をすると ERRORになったのがよく分かりませんでした。
A
先に定義したものは,loadしなくても使うことができますが,ファイルにプログラムを書く時は,ファイル中に必要なものをloadする部分も書いた方が良いでしょう.なお,loadは
load factorial(n)
のように関数呼び出しのようにするのではなく,ファイル名(たとえば,関数factorialがfactorial.rbの中で定義されているとする)を指定して,
load("./factorial.rb")
のようにしてください.
Q
show(sphere(n)) でnを10000程度にまで大きくするとターミナルがフリーズします。
A
iMacの解像度では 10000 x 10000のサイズの画像は一度に表示できないので,10000まで増やしても意味はないと思います.10000 x 10000のサイズの2次元配列を作成すると,要素数が 1億個になるので,メモリ不足が起きているのでしょうね.
Q.
今回は、プログラムをロードせずにメモ帳から直接コピペすると、条件分岐でストップがかかってうまくいかないことを学びました。プログラム、書いたらちゃんと保存してロードすべし!
A.
コピー & ペーストする中身に「タブ(tab)」が含まれていると,ファイル名補完がおこなわれてうまくペーストできないことがあるようです.loadの方がそのようなトラブルが無いのはたしかですね.
Q.
水痘に感染し11/12の講義を欠席してしまいました。インフルエンザに感染した場合は考慮して頂けるとのことですが、この場合でも大丈夫でしょうか。
A
水痘もインフルエンザと同じ第二種の学校感染症に分類されているので,同じ扱いにしたいと思います.講義の前後等に診断書と学生証を持って申し出て下さい.

前回の課題について


投票システム

vote.rbをダウンロードして,ホームディレクトリに保存してください.ドックからターミナルを起動して,
ruby vote.rb 選択肢番号
のように使います.

今日の練習,投票


関連リンク


今回,次回の課題(第1-4章まとめ課題)