6章環境
手元のデッキはブラックジャック(あるいはハーツ、戦争)に対応できるようになりましたが、shuffle、deal関数はそのレベルについていけているでしょうか。全然ダメです。たとえば、dealは同じカードを繰り返し配っています。
deal(deck) ## face suit value ## king spades 13 deal(deck) ## face suit value ## king spades 13 deal(deck) ## face suit value ## king spades 13
そして、shuffle関数は、実際にdeckをシャッフルしているわけではありません。シャッフルされたdeckのコピーを返しているだけです。一言で言えば、この2つの関数は、deckを使ってはいるもののdeckを操作していません。しかし、本当はdeckを操作したいのです。
2つの関数を修正するためには、Rがdeckのようなオブジェクトをどのようにして格納、検索、操作しているかを理解する必要があります。Rは、環境システムの力を借りてこれらのことを行っています。
6.1 環境
コンピュータがファイルをどのように格納しているのかについて少し考えてみましょう。すべてのファイルはフォルダに格納され、それらのフォルダはほかのフォルダに格納されて、全体として階層的なファイルシステムを形成しています。コンピュータがあるファイルを開こうとするときには、まずこのファイルシステムの中でファイルを検索しなければなりません。
ファイルシステムは、Finder(Mac)やエクスプローラ(Windows)を開けば見ることができます。たとえば、図6-1は、私のコンピュータのファイルシステムの一部を示しています。フォルダは山ほどありますが、その中の1つとしてDocumentsというものがあります。その中にはggsubplotというサブフォルダがあり、さらにその中にはinst、そしてその中にdocというサブフォルダがあって、docの中にはmanual.pdfというファイルがあります。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access