hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

2020-02-12から1日間の記事一覧

クラスとインスタンス

クラスについて クラスとは、とある種類のオブジェクトの共通の属性とメソッドをまとめて定義しておく型のようなもの。例えば、"Hello World"という文字列と"こんにちは"という文字列は、それぞれが一つの異なるオブジェクト。しかし、この二つのオブジェク…

レビューを読めるようにする

見たいレビューの順番を入力してそのレビューを表示させるようにする。 配列から要素を取り出す 配列から選んだ順番の要素を取得できるようにする。 配列は順番でオブジェクトを管理しているので、配列は順番を指定することでオブジェクトを取得することがで…

レビューアプリの完成ソースコード

reviewApp.rb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 # メソッドの定義 def post_review(a_posts) # 変数の定義 post = {} pu…

レビュー数をカウントし表示する

reviewApp.rb 41 puts "レビュー数:#{posts.length}" 配列オブジェクトに入っている要素の数を返すメソッドは lengthメソッド。 レビューの数はレビューを管理する配列オブジェクトpostsの要素数と等しいので、 今までレビュー数:0となっていたのをレビュ…

配列オブジェクトpostsを引数として渡す

reviewApp.rb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 # メソッドの定義 def post_review(a_posts) # 変数の定義 post = {} pu…

引数

違うスコープの変数を利用する 下記のソースコードではエラーが出る 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def post_review # 変数の定義 post = {} puts "ジャンルを入力してください:" post[:genre] = gets.chomp puts "タイトルを入力…

配列オブジェクト

配列オブジェクト 配列オブジェクトはハッシュと同じように、1つの変数でたくさんの情報を持つことのできるオブジェクト。 配列の中にはたくさんのオブジェクトを入れることができる。ハッシュがキーでオブジェクトを管理していたのに対して、配列は順番でオ…

ループ処理

ループ処理をする メニューで「アプリを終了する」を選択するまでプログラムが終了しないような実装は以下のようなイメージとなる。 プログラムを実行してから終わらせないようにするにはループ処理というものを使う。 繰り返し処理 ループ処理は while とい…

複雑な条件分岐の実装

複数の条件分岐を書くときはelsifという文法を使う。 1 2 3 4 5 6 7 8 if 条件式1 then # 条件式1が真(true)のときに実行する処理 elsif 条件式2 then # 条件式1が偽(false)のとき、かつ # 条件式2が真(true)のときに実行する処理 else # 条件式1と条件式2が…

条件分岐

条件分岐 条件はユーザーから入力された値で、分岐は以下。 入力された値 処理 0 レビューを書く 1 レビューを読む 2 プログラムを終了させる それ以外 無効な値と教える if文で条件分岐 if文 条件分岐にはif(イフ)文という文法を使う。if文は条件式が正しい…

ハッシュ

ハッシュという複数の情報を扱うことのできるオブジェクトをつかってレビューの情報をより分かりやすく扱う。 変数が増えるという問題 これまでのソースコードを見てみるとジャンル、タイトル、感想をそれぞれ別の変数として扱っていた。しかし、レビューを…

文末改行を取り除く

getsメソッドで返ってきた文字列オブジェクトは勝手に文末で改行してしまう。これはgetsメソッドの仕様で入力した文字の末尾にバックスラッシュ記法の\nをつけた状態の文字列オブジェクトを返り値として返してしまうから。 期待する表示 ターミナル 1 2 3 4 …

ターミナルから文字を入力

ターミナルから文字を入力できるようにするにはgetsメソッドを使う。 getsメソッド getsメソッドはユーザーからターミナルへ入力できるようにするメソッド。ユーザーが入力した値を文字列オブジェクトとしてプログラムに渡す。(返り値はユーザーが入力した値…

変数と式展開

変数を使う 変数は入れ物としての役割の他にオブジェクトに名前をつけるという役割がある。変数を定義するとその分ソースコードは長くなってしまうが、見やすくなるので積極的に使っていくべき。 1 puts 200 * 2 + 100 * 5 これは単なる計算のプログラムだが…

バックスラッシュ記法

バックスラッシュ記法はその名前の通り、\(バックスラッシュ)から始まる文字の記法のこと。ウィンドウズ環境ではバックスラッシュの代わりに¥記号で代用する。日本語キーボードを使っている方は「option + ¥」でバックスラッシュを打つことが出来る。 この…

変数

変数 変数とは、オブジェクトの入れ物、またはオブジェクトを識別する名札のようなもの。例えば、helloworld.rbで"Hello World"という文字列を作った。そしてこの文字の数を数えたかったため、lengthメソッドを利用した。 ターミナル 1 2 3 #"Hello World"の…

演算子

Rubyの演算子 Rubyで一般的な計算処理をする場合、以下の様な数式記号が使える。 +(足し算) -(引き算) * (かけ算) /(割り算) %(剰余) 使い方は、普通の算数の計算と同じ。 剰余の計算のみ馴染みがないので注意が必要。 例えば、「17を5で割った余り」を求め…

メソッド

オブジェクトは、メソッドと呼ばれる処理によって自身の形を変えたりすることができる。 例えば、文字列オブジェクトがlengthというメソッドを利用すると、自身の文字数である数値オブジェクトに姿を変える。 Rubyでは、オブジェクトごとにそれぞれ利用でき…

文字列オブジェクトと数値オブジェクト

文字列オブジェクト 文字列オブジェクトは、文字を表現するオブジェクト。文字列、と省略して呼ばれる。 文字列を生成するには、文字を"(ダブルクォテーション)または'(シングルクォテーション)で囲む。 irb irbとは、ターミナルから直接、Rubyのプログラム…