ReviewApp
def post_review
  post = {}
  puts "Veuillez saisir un genre:"
  post[:genre] = gets.chomp
  puts "Veuillez saisir un titre:"
  post[:title] = gets.chomp
  puts "Veuillez entrer vos pensées:"
  post[:review] = gets.chomp
  line = "---------------------------"
  #Dessiner un avis
  puts "Genre: #{post[:genre]}\n#{line}"
  puts "Titre: #{post[:title]}\n#{line}"
  puts "Impressions:\n#{post[:review]}\n#{line}"
  #Ajouter à l'objet de tableau
  posts << post
end
↑ Dans ce cas, posts n'est pas défini dans la méthode post_review, donc c'est NG.
En principe, seules les variables définies dans la méthode peuvent être utilisées.
Pour rendre cela disponible, nous utilisons quelque chose appelé un argument.
ReviewApp
def post_review (a_posts)
  post = {}
  puts "Veuillez saisir un genre:"
  post[:genre] = gets.chomp
  puts "Veuillez saisir un titre:"
  post[:title] = gets.chomp
  puts "Veuillez entrer vos pensées:"
  post[:review] = gets.chomp
  line = "---------------------------"
  #Dessiner un avis
  puts "Genre: #{post[:genre]}\n#{line}"
  puts "Titre: #{post[:title]}\n#{line}"
  puts "Impressions:\n#{post[:review]}\n#{line}"
  #Ajouter à l'objet de tableau
  a_posts << post
  # a_renvoie les messages à l'appelant de la méthode
  return a_posts
end
#Génération de publications d'objets de tableau
posts = []
while true do
  #Afficher le menu
  puts "Nombre d'appréciations: 0"
  puts "[0]J'écris une critique"
  puts "[1]Lire les avis"
  puts "[2]Quittez l'appli"
  input = gets.to_i
  if input == 0 then
    posts = post_review(posts)  # post_Méthode d'examen des appels
  elsif input == 1 then
    read_reviews                # read_Appelez la méthode des avis
  elsif input == 2 then
    end_program                 # end_Appelez la méthode du programme
  else
    exception                   #Appelez la méthode d'exception
  end
end
L'appelant doit attribuer cette valeur de retour aux messages variables. J'ai pu ajouter des publications d'informations de révision aux publications d'objets de tableau qui gèrent les critiques à l'aide d'arguments.
① Appelez la méthode post_review avec posts = post_review (posts) avec posts comme argument
② Dans la méthode post_review, copiez les publications dans une variable appelée a_posts.
③ Ajoutez un hachage à a_posts dans la méthode post_review et retournez a_posts
④ Remplacez les a_posts retournés par les posts par posts = post_review (posts)
<Règles d'utilisation des arguments>
Exécuter une méthode à l'aide d'un argument
def multi(number)         #Dans la définition de la méthode, le nombre est utilisé comme argument formel.
  puts number * number
end
puts "Veuillez saisir un nombre"
value = gets.to_i
multi(value)             #Lorsque vous utilisez réellement la méthode multi, la valeur est placée à la place du nombre précédent.
        Recommended Posts