カテゴリー
Ruby

配列のその他の知識を得よう

この章では配列の要素を一度に取り出す方法について説明します。
今までは配列の要素を9のように1つ1つ取り出していましたが、eachを使うことでまとめて取り出すことが出来ます。
詳しい説明は例の後に行います。9 以下の構文で書くことで配列の要素が1つずつ変数に代入されて、実行文で出力されます。
以下の構文の変数名は自由に付けてください。9 上の例のeach doの箇所は次のように書き替えることが出来ます。9 このように書くことで配列のすべての要素を順番に繰り返し取り出してくれます。
出力される順番は以下の通りです。
つまり、配列animalの要素が順に変数iに入り、putsで出力されます。9 結果は以下の通りです。9 次は配列の要素がいくつあるのかを確認する方法について説明します。9 配列のデータの数は以下の構文で取得できます。9 この例では配列の要素が5つあるので結果は5です。
他の方法でも配列の要素数を取得できます。9 結果は以下の通りです。9 では説明をしていきます。
〇「配列.count」という構文で配列の要素数を取得できます。
例の結果は9です
9という構文で指定した要素と同じ要素がいくつあるのかを取得できます。
この例では配列の要素である1が4つありますので、結果は4です。

次の例に進みます。9 この例ではすべての要素をチェックして9という条件に一致した要素の数をカウントします。
つまり、要素の中で2で割り切れるのは2と4だけですので、例の答えは2です。
「==」は右辺と左辺がイコールという意味ですが、この記号は関係演算子と呼ばれています。
また、以下の構文に条件式がありますが、条件式の詳細は「条件分岐ifの公式1」で詳しく説明します。9 以下の通り、結果を変数に入れることもできます。
またcountの中身は行を変えて書いてもいいです。9
次の例も前例と同じ構文です。9 「f+2==4」という条件に一致した要素の数をカウントしています。
条件にあう2が2つありますので、結果は2です。
次は「nil」について説明します。
nilとはオブジェクトが存在しないことを意味します。
つまり何もないと言う意味です。
例えば要素が存在しないのにも関わらず、その添え字を指定して出力するとnilが返されます。9 animalの要素は5つしかないので、9と書いて出力してもその要素は存在しないのでnilが返されます。
結果は以下の通りです。9 もう一つnilの例を見てみましょう。9 =>要素数を指定して配列を作っても、要素が何も入っていない時にはnilが返されます。
pで出力すると解りますが、9と、出力されます。9 そのnilを省いた配列を作成したい場合は9という構文で書きます。
この構文はnilの要素が省かれた新たな配列を作成します。
では例をみてみましょう。9 デバック用のpで出力するとnilが省かれていることがわかります。
結果は次の通りです。9

カテゴリー
Ruby

配列のその他の作成方法を知ろう

配列の作成方法は前の章で説明した方法だけではなく、他にも3つありますので、この章で説明します。
1つ目の配列の作成方法をみてみましょう。9 初めに9 と言う形式で配列の要素数を指定します。
つまり、いくつのデータを作るのかを指定します。
この例ではデータを2つ入れるので要素数を2にしています。
その次に以下のように配列にデータを2つ入れます。9 カラの配列を作ってから、後からデータを入れたい場合には9という形式でカラの配列を作成してから、その後にデータを入れていきます。9 結果は以下の通りです。9 次は2つ目の配列の作成方法をみてみましょう。9 「要素数とデータ」を同時に記述したい場合は9という形式で書きます。
その場合すべての要素に同じデータ(この例の場合は猫)が入ることになります。
結果は以下の通りです。9
次は3つ目の配列の作成方法をみてみましょう。99 と言う形式で配列を作成します。
この例では紙面の都合で配列の要素を2行で書いています。
結果は以下の通りです。99 99という構文で配列の複製を作成することが出来ます。
この例の場合にはanimalを複製してanimal5という新たな配列を作成しています。
結果は以下の通りです。9

カテゴリー
Ruby

配列について知ろう

この章では配列について説明します。
これまでの変数は1つのオブジェクトだけを扱うことができました。
つまり、他のオブジェクトを入れようと思うと上書きされて、前のデータは消えてしまいました。
それに比べて配列は複数のデータをまとめて入れることができます。
普通の変数では9 と別々の変数名でそれぞれのデータを入れなければいけませんが、配列を使うと9と、まとめてデータを入れることができます。
このように配列は1つの変数名で多くのデータを入れることができるのです。
上の例のように同じ目的で使用する可能性のある複数のデータは1つにまとめてしまい、1つの変数で複数のデータを管理できると便利です。
このような時に配列を使用します。
配列の基本構文は以下の通りです。9 配列の要素には違う種類のオブジェクトも混ぜて入れることが出来ます。
例えば9のように数値と文字列を混ぜて入れることも出来ます。
もうひとつの配列の書き方として9の中に空白で区切って書く方法があります。この書き方はダブルクォートでデータを囲う必要がありません。99
次に「添え字」について説明します。9 上の配列を書き換えると次のようになります。9 [ ]の中に入っている数値のことを添え字と言います。添え字とは配列の中のどこにデータが入っているのかを管理する番号です。
例えばコインロッカーには番号が付いていますが、番号があるからこそ、どこに自分の荷物があるのかが分かるわけです。
添え字も考え方は同じで、番号によりデータを管理します。
では先ほどの例を元に添え字の説明をしていきます。
配列の1番前の要素である0には猫が入っていて、配列の前から2番目の要素である1には犬が入っていて、配列の前から3番目の要素である2にはライオンが入っていて、配列の前から4番目の要素である3には象が入っていて、配列の前から5番目の要素である4にはネズミが入っています。
添え字は0から順番に番号が付けられていきます。1から添え字を付けていくわけではないので、注意してください。
もう一度繰り返します。
配列の1番前、つまり9には猫と言う要素が入っていて、配列の前から2番目、つまり9には犬と言う要素が入っていて、配列の前から3番目、つまり9にはライオンと言う要素が入っていて、配列の前から4番目、つまり9には象と言う要素が入っていて、配列の前から5番目、つまり9にはネズミと言う要素が入っています。

次は配列の要素の出力方法について説明します。
配列のデータを出力するには9という構文で書きます。
例えば9の場合には猫が出力されます。
このようにprintに配列と添え字を指定するとそれに応じた要素を配列から取り出すことができます。
次は配列の要素の上書き方法について説明します。
例えば9の要素を他のデータで書き替えたいのであれば9のように同じ配列の添え字に新たなデータを入れます。
これでネズミと言う要素はシマウマと言う要素で上書きされたことになります。
添え字にはマイナス指定も出来ます。
例えば99と同じ意味になります。
添え字のマイナス指定の場合は配列のデータの末尾から9と添え字を指定します。
一気に何個かの要素を他の要素で置き替えたい場合は以下のように書きます。99 の中の9は範囲演算子と言います。9 「0..2」は0番目から2番目までの要素を意味します。9
次はカラの配列の指定方法について説明します。
9のように初めから中の要素が決まっているのならばこのように書けますが、まだ入れるデータが決まっていない時にはカラの配列を用意して、その中に後からデータを入れることも出来ます。
下の例を見てみましょう。99 出力結果は以下の通りです。9 では説明をしていきます。9 その後に9 と、配列に対してデータを入れていきます。9 =>先ほどは範囲演算子を使って、データを代入しましたが、範囲演算子を使って出力することが出来ます。
9のように指定した範囲が配列の要素数を超えている場合は最後の要素の添え字を指定したのと同じとみなされます。
この例ですと9と同じ意味を持ちます。
範囲演算子を使って出力すると配列として出力されるので、結果は9のようにカッコの付いた状態で出力されます。

次は以下の箇所の説明をします。9 =>p はデバッグ用で出力する時に使います。
デバックとはプログラムの途中で思った通りに出力がされているのか確認することを意味します。
この例ではp animalと書いてありますので9と出力されます。
pで文字列と数値を出力しますと以下の通り、文字列の場合にはダブルクォートで囲まれて出力されますので、変数には文字列が入っていると確認できますし、数値の場合にはダブルクォートが入っていない状態で出力されますので、変数には数値が入っていると確認できます。9 出力結果は以下の通りです。9
次の例は添え字にマイナス値を指定する方法について説明します。9 先ほども説明しましたが、添え字に負の整数を指定した場合には配列の一番後ろの要素から添え字を9と数えます。
つまり、99は同じ意味です。
この例ではネズミをタイガーに変更しています。
結果は以下の通りです。9 負の添え字はデータを書き替えるときなどに使用しますので、以下のようにマイナスの添え字で最初から値を設定することはできません。9 これを実行しようとすると以下のようなエラーが発生します。9

カテゴリー
Ruby

ヒアドキュメントについて知ろう

この章ではヒアドキュメントについて説明します。
普通の文字列はダブルクォートやシングルクォートで囲まれたものですが、この他に以下の構文のように9から最後の9までを文字列として扱う手法もあります。9 識別子名には自由に決めた名前を付けてください。
初めの識別子をダブルクォートで囲むと変数が展開され、シングルクォートで囲むと変数は展開されません。
また、ヒアドキュメントに変数を埋め込む時には9という形式で埋め込みます。
では例をみてみましょう。9 「EOS」がダブルクォートで囲んであるので、ヒアドキュメントの中の変数は展開されます。
結果は以下の通りです。9 次の例は先ほどの例を少し変えて、ヒアドキュメントを変数に入れてから出力しています。
このような事もできますので覚えておいてください。9 次の例は最初の識別子を以下のようにシングルクォートで囲う方法で出力します。9 結果は変数が展開されませんので、変数名がそのまま表示されます。9 次はヒアドキュメントの注意点について説明します。9 上のように最後の識別子の前後にスペースやコメントなどを置くことができません(エラーになります)。
しかし、最後の識別子の前後にスペースをおいてもエラーを起こさない方法があります。
それは「<<」と最初の識別子の間に9を付けることです。
結果として、以下のように最後の識別子の前にスペースがあっても、エラーを起こさないで済みます。
では例をみてみましょう。9

カテゴリー
Ruby

エスケープシーケンスについて知ろう

この章ではエスケープシーケンスについて説明します。
エスケープシーケンスとは、ダブルクォートやシングルクォートなど文字列として入力することが出来ない特殊な文字を9を使って表現します。99と、ダブルクォートを含めて出力させたいと思って以下のように書いてもエラーが出ます。
理由はダブルクォートがRubyでは文字を囲むという特殊な意味を持っているからです。9 つまり、以下のカッコを囲んだ対応関係で解釈されてしまいます。9 ダブルクォートを9として使いたい場合には9の前に9を入れます。9 これで9と出力されます。
次の例をみてみましょう。9 結果は9と出力されますが、タブが挿入されているのが分かります。
次の例をみてみましょう。9
シングルクォート内で使うことが出来るエスケープシーケンスは9だけです。9

カテゴリー
Ruby

Rubyで計算しよう2

この章では複合演算子について説明します。
複合演算子とは文字通り、演算子を組み合わせて使用される演算子です。
例えば「a +=b」であれば9を組み合わせて使用していますが、9と同じ意味になります。
意味はaとbの結果をaに入れると言う意味です。
その他にも以下のような形式がありますので覚えておいてください。9
では例をみてみましょう。99
では具体的な説明をします。9 結果は以下の通りです。9

カテゴリー
Ruby

Rubyで計算しよう1

この章では数値オブジェクトの計算について説明します。
数値オブジェクトは整数と浮動小数点数のことを言います。
整数は10進数、8進数、16進数などで表せますが、10進数は1,2などの我々が普段使っている数字です。
8進数は先頭に「0」を付けて028などと書きます、16進数は先頭に「0x」を付けて0x41などと表現します。
浮動小数点数は「3.2」などの小数点を持った数値です。
では例をみてみましょう。999 では説明していきます。999 では次の例をみてみましょう。99 結果は以下の通りです。9 では説明をしていきます。9 =>浮動小数点数同士の計算を行っています。

9 =>足し算や引き算より掛け算や割り算を先に計算します。
どうしても足し算や引き算の方から計算したい場合は9のようにカッコで囲ってください。

9 =>足し算や引き算しかない場合は前から計算します。

9 =>**は割り算や掛け算より先に計算されますので、当然足し算や引き算より先に計算します。

9
=>浮動小数点数と整数の計算の結果は浮動小数点数になります。

9 =>これは整数同士の計算なので結果も整数です。
この場合、小数点以下は切り捨てられるので正確な計算は出来ません。

9 =>浮動小数点数と整数の割り算の計算の結果は小数点まで求めることが出来ますので、正確に計算することが出来ます。
次の例は数値を変数に入れてから計算を行っています。
このように変数同士の計算も行うことができます。99 結果は以下の通りです。9

カテゴリー
Ruby

定数について知ろう

この章では定数について説明します。
定数は基本的には変数と同じですが、一度データを入れると変数みたいに再度データを入れ直すことは出来ません(つまり上書きできません)。
ですので、プログラムの最後までデータが変わらないのであれば定数を使います。
例えば消費税額などほとんど変わらないデータは定数に入れます。
またRubyの定数はメソッド内での定義はできません(メソッドは後ほど説明します)。9 先頭文字を大文字で書くと定数と認識されますが、基本的には定数名のすべてを大文字で記述してください。
また変数と同じで予約語は使用できません。
定数に入れるデータはオブジェクトと言いますが、今のところ、オブジェクトは文字や数値などと同じであると覚えておいてください。
では例をみてみましょう。9 この例ではMANSIONという定数に12というデータを入れています。
出力する時には変数と同じでprint文を使います。
ここで以下のように9のようにデータを上書きしようとするとどうなるでしょうか。9 結果は以下のようなエラーになります。9 自身で作る定数の他に、Rubyではあらかじめ定義されている定数があるのですが、これを組み込み定数と言います。
次の組み込み定数の幾つかはこの章以降に説明します。99

カテゴリー
Ruby

変数について知ろう

この章では変数について説明します。
変数とはオブジェクトを入れることが出来る入れ物です。
オブジェクトのことはまだ説明していないので、ここではデータと思ってください(例えば文字や数値などもデータです)。
例えば携帯電話やフロッピーディスクにデータを記憶すると持ち運びが出来ますが、この携帯電話やフロッピーディスクに相当するものが変数です。
では例をみてみましょう。9 後で詳しく説明しますが、nekoというデータをanimalという変数に入れて、print文で変数に入っているデータを出力しています。
このようにデータは変数に入れて、プログラム内で使っていきます。
結果は以下の通りです。9 このプログラムの中のanimalが変数ですが、以下で変数の特徴について説明します。99 先頭には@ や@@を使用することができますが、これらには意味がありますので、「クラスについて知ろう」の章で説明します。99 予約語とはあらかじめRubyで定義済みの文字です。
例えば、「if」でしたら9というRubyの内部機構で初めから装備されている機能ですので、使用することが出来ません。99 「=」を代入演算子と言います。
このように書くことでnekoと言うデータをanimalと言う変数に入れることができるわけです。
データを入れる行為を代入と言います。
そして、その変数に入っているデータを出力するのが先ほど説明したprintや putsです。
つまり、99になります。
変数に格納されているデータが使用されることを変数展開と言います。
9つまりデータを上書きできると言うことです。
その場合、前のデータも消えてしまいます。
では例をみてみましょう。9 nekoというデータは後から入れられたdogで上書きされます。
結果は以下の通りです。99 例えば 9のように9を入れないと以下のエラーが発生します。9 もう一つの書き方としては変数を9で囲みます。
その場合には9を入れる必要はありません。9 99animalを他の変数であるanimal2に入れていますので、animal2にもnekoが代入されています。
結果は以下の通りです。9

カテゴリー
Ruby

プログラムの基礎を知ろう

この章ではRubyのプログラムの基礎について説明します。
初めに先ほどインストールしたRubyのインタプリタが正常にインストールされたかどうかを確認しますので、コマンドプロンプトを起動した後に9と入力してください。
以下の画面が表示されたら、成功です。9 では基礎から説明します。
文字を出力するには以下のように9を使います。
例をみてみましょう。9 これをテキストエディタで書いて、保存してください。
例えば9のように9という形式で保存します。
そして、C の直下にRubyというフォルダを作成して、その中にファイルを入れます。
フォルダ名は自由に付けていただいても結構ですが、この講座ではRubyと付けます。
文字コードの指定は「Notepad++」の場合は「フォーマット」から9を指定してください。
この指定をしてからプログラムを書いて保存します。
どのテキストエディタを使っていても、文字コードは9で保存してください。9 コマンドプロンプトでファイルを実行するためにはそのファイルのある場所まで移動しなくてはいけませんので、「cd C:¥Ruby」と入力します。
つまり、9と書きますとそのファイルのある場所まで移動することが出来ます。
そして、その移動した先で9と入力しエンターキーを押しますと以下のように実行結果が出力されます。9 では例について詳しく説明します。
① printもputsも画面に文字等を出力するための機能を持っています。
print はデータを改行しないで出力します。
printの後のカッコはあってもなくてもいいです。
puts はprintとは違ってデータを改行して出力します。

②文字列を出力する時には必ず9もしくは9で文字を囲んでください。
文字を出力するときにはダブルクォート、シングルクォート自体は出力されません。
ダブルクォートやシングルクォートに囲まれた文字を文字列と言います。
しかしダブルクォートの中のダブルクォートそのものを出力しようとする時には注意が必要です。
例えば9と出力する場合には9のように書いてはいけません。
これを実行すると以下のようなエラーが出ます。9 エラーを出さないためには以下のように書きます。9 つまり、出力させたいダブルクォートの前に9を付けてください。
そうするとダブルクォート自体が出力されます。9 「Notepad++」を使っている場合、9ではなく9という表記になりますが、9と同じ意味です。
シングルクォートの中にシングルクォートそのものを出力させたい場合は以下のように書きます。9 つまり、シングルクォートの前に9を付けて9と書きます。
しかし、ダブルクォートの中にシングルクォートを含める時やシングルクォートの中にダブルクォートを含める時には9を付ける必要はありません。9 結果は以下の通りです。9

③ C言語などの言語は文の終わりにセミコロンを付ける必要がありますが、Rubyは1行に1文書く限り付ける必要はありません。
他の言語経験者でセミコロンを付けるのが慣れているのであればセミコロンを付けても問題ありません。
ですので9のように1行に2文書くとエラーになりますので、どうしても1行に2文書きたい場合は9のように文と文の間に9を付けます。

④ print(123)のようにカッコの中に数値を記述する時にはダブルクォートやシングルクォートで囲う必要はありません。
結果は「123」が出力されます。

⑤プログラムの中にはコメントが書けるのですが、以下の赤枠の箇所がコメントになります。9 「#」の後にコメントを書くと行の末尾までがプログラムに反映されなくなります。
一部のプログラム自体を実行させなくすることやプログラムの意味などを書きます。
複数行のコメントを書きたい場合には9から9の間にコメントを書いてください。

⑥ putsは文を改行してくれますが、printで改行したい場合は以下のようにダブルクォートの中に
9を付けてください。

「Notepad++」を使っている場合、9となります。9 結果は以下のように改行されて出力されます。9 「¥n 」を使って改行が出来るのはダブルクォートの中だけであり、シングルクォートの中で9のように改行文字を書くと以下のようにそのまま改行文字が出力されて、改行の機能はなくなってしまうので注意してください。9
⑦ Rubyで使われるデータをオブジェクトと言います。
例えば「”Hello”」は文字列オブジェクトです。文字列オブジェクトは詳しく言いますとstringクラスのオブジェクトになりますが、詳しい説明は「stringクラスについて知ろう」で説明します。
「123」は数値オブジェクトです。数値オブジェクトは詳しく言いますとIntegerクラスのオブジェクトになりますが、詳しい説明は「Numericクラスについて知ろう」で説明します。9 =>このプログラムは文字コードにUTF-8を使ってコマンドプロンプトで出力していますが、コマンドプロンプトの文字コードはShift_JISですので、出力する時には文字化けしてしまいます。ですので、このUTF-8をShift_JISに変換してから出力しなくてはいけません。
その文字コードの変換をしてくれるのがkconvと呼ばれているライブラリです。
ライブラリとはRubyであらかじめ機能が定義されているファイルの集合体です。
例えば、kconvは文字コードの変換をしてくれる機能を持ちますが、このような便利な機能が集まっているのがライブラリです。
また、ライブラリをプログラムの中に取り込むにはrequireを使用しますが、この例では9と書いています。
⑨このプログラムはUTF-8で作成していますが、それを明記しているのが9の部分です。この記述は決まりきった型なので、このまま覚えてください。
今ではUTF-8は主流の文字コードですので、この教材でもUTF-8を使用します。