Devolución de libros
Parte de la sección Programación orientada a objetos del Journey de Ruby de Coddy. Lección 52 de 57.
Desafío
FácilAñade el comando RETURN. Mantén todos los comandos de los pasos anteriores funcionando exactamente como antes.
RETURN name id: respondeno member boono book 9como en el caso de pedir un préstamo; si el miembro no tiene ese libro, respondeada does not have Dune; de lo contrario, elimina el préstamo del miembro, vuelve a poner el libro a disposición y respondeada returned Dune.
El código proporcionado pasa cada línea de entrada a library.handle(line) e imprime cada respuesta devuelta en su propia línea. Los nombres de los miembros son palabras individuales en minúsculas, los identificadores de los libros son números enteros y la entrada solo contiene los comandos descritos hasta ahora. Cualquier otro comando responde unknown command.
Tu código debe estar en book.rb, member.rb y library.rb. main.rb contiene el código proporcionado de entrada/salida y no se puede editar.
Pruébalo tú mismo
require_relative 'book'
require_relative 'member'
require_relative 'library'
# Código de entrada/salida suministrado: déjalo como está
input = []
while (line = gets)
input << line.chomp
end
library = Library.new
input.each do |line|
library.handle(line).each { |reply| puts reply }
end
Todas las lecciones de Programación orientada a objetos
1Clases y objetos
Trabajar con archivosDefinir clasesVariables de instanciaMétodos y selfto_s e inspectRepaso: tarjeta de biblioteca4Encapsulación
Métodos privadosMétodos protegidosAsignadores privadosProtección del estadoRepaso: máquina expendedora7Polimorfismo y tipado pato
PolimorfismoTipado patoMétodos abstractoscase y clasesRepaso: métodos de pago2Accesores y self
Lectores y escritoresSetters personalizadosself en los métodosIdentidad e igualdadRepaso: lista de contactos5Herencia
SubclasesSobrescritura de métodosLlamar a superis_a? y ancestrosRepaso - Nómina del personal8Métodos especiales
Igualdad y hashMétodos de operadoresIndexación y adiciónColecciones personalizadasRepaso: fracciones11Proyecto: Gestión de biblioteca
Libros y miembrosPréstamo de librosPractica por tu cuenta: Compilador de Ruby online