質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1029閲覧

違うメソッドにある、同じ記述をまとめる。

jack_kanzaki

総合スコア106

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2019/07/05 08:02

#write a review, #read a reviewにある
line = "-------------------"
puts "genre: #{post[:genre]}\n#{line}"
puts "title: #{post[:title]}\n#{line}"
puts "review:\n#{post[:review]}\n#{line}"
をメソッドの中から外へ、
まとめて定義等したいと考えています。
ご教授お願いします。

ruby

1#write a review 2def post_review(posts) 3 #definition of variables 4 post = {} 5 puts "type genre" 6 post[:genre] = gets.chomp 7 puts "type title" 8 post[:title] = gets.chomp 9 puts "type review" 10 post[:review] = gets.chomp 11 12 line = "-------------------" 13 puts "genre: #{post[:genre]}\n#{line}" 14 puts "title: #{post[:title]}\n#{line}" 15 puts "review:\n#{post[:review]}\n#{line}" 16 17 #addition in object array 18 posts << post 19 20 #return posts into the original place in a method 21 return posts 22end 23 24#read a review 25def read_reviews(posts) 26 number = 0 27 posts.each do |post| 28 puts "[#{number}]: #{post[:title]}" 29 number += 1 30 end 31 32 puts "type a number which you wanna see: " 33 input = gets.to_i 34 if input <= posts.length 35 #get a review 36 post = posts[input] 37 puts post 38 39 line = "-------------------" 40 puts "genre: #{post[:genre]}\n#{line}" 41 puts "title: #{post[:title]}\n#{line}" 42 puts "review:\n#{post[:review]}\n#{line}" 43 else 44 read_reviews(posts) 45 end 46end 47 48#finish an application 49def end_program 50 exit 51end 52 53def exception 54 puts "This activity is invalid." 55end 56 57posts = [] 58 59#display of menu 60while true do 61 puts "Number of review: #{posts.length}" 62 if posts.length == 0 63 puts "[0]write a review" 64 puts "[1]finish an application" 65 input = gets.to_i 66 if input == 0 67 post = post_review(posts) #method 68 elsif input == 1 #method 69 end_program #method 70 else 71 exception #method 72 end 73 else 74 puts "[0]write a review" 75 puts "[1]read a review" 76 puts "[2]finish an application" 77 input = gets.to_i 78 if input == 0 79 post =post_review(posts) #method 80 elsif input == 1 81 read_reviews(posts) #method 82 elsif input == 2 83 end_program #method 84 else 85 exception #method 86 end 87 end 88end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ruby

1#write a review 2def post_review(posts) 3 #definition of variables 4 post = {} 5 puts "type genre" 6 post[:genre] = gets.chomp 7 puts "type title" 8 post[:title] = gets.chomp 9 puts "type review" 10 post[:review] = gets.chomp 11 12 #addition in object array 13 posts << post 14 15 #return posts into the original place in a method 16 return posts 17end 18 19#read a review 20def read_reviews(posts) 21 number = 0 22 posts.each do |post| 23 puts "[#{number}]: #{post[:title]}" 24 number += 1 25 end 26 27 puts "type a number which you wanna see: " 28 input = gets.to_i 29 if input <= posts.length 30 #get a review 31 post = posts[input] 32 puts post 33 else 34 read_reviews(posts) 35 end 36end 37 38#display a review 39def display(posts) 40 posts.each do |post| 41 line = "-------------------" 42 puts "genre: #{post[:genre]}\n#{line}" 43 puts "title: #{post[:title]}\n#{line}" 44 puts "review:\n#{post[:review]}\n#{line}" 45 end 46end 47 48#finish an application 49def end_program 50 exit 51end 52 53def exception 54 puts "This activity is invalid." 55end 56 57posts = [] 58 59#display of menu 60while true do 61 puts "Number of review: #{posts.length}" 62 if posts.length == 0 63 puts "[0]write a review" 64 puts "[1]finish an application" 65 input = gets.to_i 66 if input == 0 67 post = post_review(posts) #method 68 elsif input == 1 #method 69 end_program #method 70 else 71 exception #method 72 end 73 else 74 puts "[0]write a review" 75 puts "[1]read a review" 76 puts "[2]finish an application" 77 input = gets.to_i 78 if input == 0 79 post =post_review(posts) #method 80 elsif input == 1 81 read_reviews(posts) #method 82 elsif input == 2 83 end_program #method 84 else 85 exception #method 86 end 87 end 88end

投稿2019/07/05 09:00

jack_kanzaki

総合スコア106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問