2017-11-22 4 views
-2

Ich muss ein Ruby-Programm machen, wo ich die Kosten eines Firmenprojekts berechnen muss.Wie mit Eingabe vom Benutzer in Ruby zu berechnen

Ex der Variablen:

  • Gehalt eines Account-Manager (Es hat eine Benutzereingabe aber ex 9.250kr x2 sein)
  • Gehalt eines Entwicklers (Es hat eine Benutzereingabe sein, aber ex 9.250kr x2)
  • Gehalt für die Top-Management (20.000kr)
  • Miete der Büroräume pro Person; (4.000kr)
  • Mittagessen pro Person (400kr)
  • Verwaltungskosten (4.000kr)
  • Andere Hilfsmittel: (1.900kr)

Aber ich bin nicht ganz sicher, wie das Programm zu starten , sollte ich sie in Klassen setzen oder?

Und ich bin mir nicht sicher, wie mit einer Benutzereingabe zu berechnen ist.

Bitte kommen Sie mit ein paar Tipps!

+0

https://stackoverflow.com/help/on-topic: 3. Fragen, die nach Hausaufgabenhilfe fragen, müssen eine ** Zusammenfassung der bisherigen Arbeit enthalten, um das Problem zu lösen ** und eine Beschreibung von die Schwierigkeit, die du hast, es zu lösen. – Dmitry

+0

Um herauszufinden, welche verschiedenen Entitäten in Ihrem Projekt vorhanden sein können, z. Benutzer, Ausgaben usw. –

Antwort

0

Sie dieses Objekt in einem Dienst tun könnte, so etwas wie:

# /services/project_calculator_service.rb 

class ProjectCalculatorService 
    def self.call(values) 
    new(values).call 
    end 

    def call 
    # do your calculation here using the @variables 
    # return the result 
    end 

    private 

    def initialize(values) 
    @developer_salary = values[:developer_salary] 
    @top_management_salary = values[:top_management_salary] 
    # ... 
    end 
end 

dann zunächst ein Formular für den Benutzer angezeigt werden, vielleicht in projects#new dann die params in projects#create posten, dann in Ihrem Controller:

def create 
    @result = ProjectCalculatorService.call(params[:project]) 
    # Save the result or render it in a view 
end 

Die Berechnung könnte auch in den Ordner lib oder in eine concern gehen, die vom Modell aufgerufen wird, vorausgesetzt, Sie haben ein Projektmodell.

Ich hoffe, es hilft. Zögern Sie nicht, mehr Kontext für eine bessere Antwort bereitzustellen.

Verwandte Themen