[RUBY] Informationen zur Rolle der Initialisierungsmethode

Es gab eine Zeit, in der ich Pionierarbeit für das mysteriöse Genre der Initialisierungsmethode Moe geleistet habe, aber ich werde oft von Schülern nach den Unterschieden zwischen Klassen und Instanzen, Instanzmethoden und Klassifikationen und Rollen von Klassenmethoden gefragt, daher der obige Link noch einmal Ich werde codieren, was im Artikel erwähnt wird.

[Die Geschichte, dass die Initialisierung süß ist] → https://qiita.com/yamazaki_akihiro/private/32ea4cf5e653913d2485

class Mother
  
  def initialize(sleeper)
    puts "#{sleeper}Ich betrat mein Zimmer, aber es gibt keine Anzeichen für ein Aufwachen. Es ist ein sehr ruhiger Schlaf."
    @sleeper = sleeper
  end

  def ding_frypan
    puts ""Ja !!!!" * Die Pfanne klingelt. Es ist ein Ärgernis für die Nachbarschaft"
    puts ""Gwahhhh !!!"#{@sleeper}Der Todesteufel!"
  end

  def open_curtain
    puts ""Ja !!!!" * Der Vorhang wurde heftig geöffnet. Nicht zu empfehlen, da die Schienen dadurch belastet werden"
    puts ""Gwahhhh !!!"#{@sleeper}Der Todesteufel!"
  end

  def strip_duvet
    puts ""Ja !!!!" * Der Futon wurde abgezogen. Wenn dies Liebesreis ist, wird es danach verschiedene Dinge geben und die beiden werden zu spät kommen, aber diesmal ist es anders"
    puts ""Gwahhhh !!!"#{@sleeper}Der Todesteufel!"
  end

  def self.go_job
    puts ""Ich kenne meine Mutter nicht, auch wenn ich zu spät komme!""
    puts "Und meine Mutter verschwand in der Stadt, umgeben vom Morgennebel..."
  end
end

puts "Es ist 7 Uhr. Möchten Sie bald verschlafen aufwachen?"
puts "1,Geh in den Raum und wache auf"
puts "2,Geh zur Arbeit, ohne aufzuwachen"
num = gets.to_i
if num == 1
  puts "Mit wem wachst du auf?"
  sleeper = gets.chomp
  mother = Mother.new(sleeper)
  puts "Wie weckst du es auf?"
  puts "1,Rufen Sie die Pfanne an(Es ist laut!)"
  puts "2,Öffne den Vorhang und lass die Morgensonne scheinen(Es ist blendend!)"
  puts "3,Entfernen Sie den Futon(Es ist kalt! * Es kann ein wenig peinlich sein, wenn Sie jugendlich sind)"
  plan = gets.to_i
  if plan == 1
    mother.ding_frypan
  elsif plan == 2
    mother.open_curtain
  elsif plan == 3
    mother.strip_duvet
  else
    puts "Du willst es nicht wirklich aufwecken. Lass uns arbeiten"
    Mother.go_job
  end
elsif num == 2
  Mother.go_job
else
  puts "Ihr! Nun, ich bin keine Mutter! !! !! Welcher Mann! !! ??"
end

Recommended Posts

Informationen zur Rolle der Initialisierungsmethode
Über die Methode
Ausgabe über die Methode, Teil 2
Über die Längenmethode
Über die Kartenmethode
Über die Ahnenmethode
Informationen zur to_s-Methode.
Ausgabe über die Methode Teil 1
Informationen zur Beschreibung von Docker-compose.yml
Überlegungen zur Zeitmethode
Was ist die Initialisierungsmethode?
Über das Verhalten von Ruby Hash # ==
Über die Grundlagen der Android-Entwicklung
[Ruby] Fragen und Überprüfung der Anzahl der Methodenargumente
Methode initialisieren
Denken Sie an die 7 Regeln von Optional
Informationen zur Protokollebene von java.util.logging.Logger
Was ist ein Test? ・ Über die Wichtigkeit eines Tests
Informationen zur Funktionsweise von next () und nextLine ()
Informationen zur ersten Anzeige von Spring Framework
Über die Behandlung von BigDecimal (mit Reflexion)
Vertiefte mein Verständnis der Zusammenführungsmethode
Über die Anzahl der Threads von Completable Future
[Einführung in Ruby] Über die Rolle von true und break in der while-Anweisung
Über die kontinuierliche Teilungsmethode in der 4. Klasse der Grundschule gelernt
[Ruby] Initialisierungsmethode
Über das Paket
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
[Java] Behandlung von Java Beans in der Methodenkette
Über den offiziellen Startleitfaden für Spring Framework
Informationen zur Beschreibungsreihenfolge der Java-Systemeigenschaften
Über die Idee anonymer Klassen in Java
Die Reihenfolge der Java-Methodenmodifikatoren ist festgelegt
Ausgabe der Verwendung der Slice-Methode
Informationen zum Aufruf-Timing und zu den Argumenten der addToBackStack-Methode
Informationen zu next () und nextLine () der Scannerklasse
ArrayList und die Rolle der Schnittstelle aus List
Über keinen Methodenfehler
Die Welt der Clara-Regeln (2)
Kommentar: Über die Schnittstelle
Informationen zum Trennen () von HttpURLConnection
Über die Doppelfunktion -java
[Ruby] Die Rolle von Indizes beim Lernen von Elementen in Arrays
[Grails] Über den Einstellungsbereich und die Einstellungselemente von application.yml
Über die Nützlichkeit von Monaden aus einer objektorientierten Perspektive
Über die Vorzüge von Datenbankbindungsvariablen sprechen ((1) Einführung)
Über das Problem des Deadlocks bei der Parallelverarbeitung in gem'sprockets '4.0
Informationen zur Bindung von Java-Methoden
Über DI des Frühlings ①
Über den ternären Operator
Die Welt der Clara-Regeln (4)
Die Welt der Clara-Regeln (1)
Über DI des Frühlings ②
Definition der Rubinmethode
Die Welt der Clara-Regeln (5)