Refactor
:my
=>
'code'
Codes
Refactorings
Popular
Best
Submit
Spam
Account
Logout
Login
JavaScript doesn't seem to be activated, expect things to be ugly and sloppy!
Learn How to Create Your Own Programming Language
createyourproglang.com
Recent
Working PS3 Jailbreak 3.65 And 3.66
ExtaBit Premium Accounts and Cookies
Steam Wallet Hack - Money Adder & Hack v3
Empires & Allies Hack Cheat Trainer v5.4.1
Eve Onnline 60 Days Time Card Generator v2
Xbox Lve Generator v3
Better way to get content via jQuery $.get()
Free CarTown Blue Points Generator and CarTown Templates
Steam Wallet Hack 2012
Diablo 3 error 37 & error 3006 fix
Popular
XBOX POINTS GENERATOR - MICROSOFT POINTS GENERATOR v1.2012
11 may 2012 premium uploading accounts 100% working
Free Microsoft Points
Free Microsoft Points - Microsoft Points Generator - Xbox Live Codes 2012
Car Town Free Blue Points Hack
Free CarTown Blue Points Generator and CarTown Templates
Free Microsoft Points
Simple Days Purger
Sharecash Downloader Bypass Surveys New 05/2012
PAYPAL REMOVE ACCESS LIMITED ACCOUNT 100% Working
Pastable version of
Help!! undefined method for nil:NilClass (NoMethodError)
<pre class='prettyprint' language='ruby'>require 'ruby_camping' require 'camping_guests' =begin Mainclass for program: Creates a camping and starts the loops for the menu. =end class Main if __FILE__ == $0 $camping = Camping.new(@current_guests, @all_guests, @parking_lots) # skapa en ny camping # !> instance variable @parking_lots not initialized puts "\n" puts "Välkommen till Ruby Camping!" # loopa igenom menyn while (true) Menu.menu end end end require 'parking_lot' class Camping attr_accessor :current_guests, :parking_lots, :all_guests def initialize(current_guests, parking_lots, all_guests) @current_guests = Array.new(32) # initiera husvagnsplatserna @parking_lots = Array.new(32) 32.times do |nr| @parking_lots[nr] = Parking_Lot.new(nr) end defaultGuests = Array[ Guest.new("Logan", "Tokyo", "07484822",1, @parking_lots[0]), Guest.new("Scott", "Chicago", "8908332", 2, @parking_lots[1]), Guest.new("Hank", "Boston", "908490590", 3, @parking_lots[2]), Guest.new("Jean", "Detroit", "48058221", 4, @parking_lots[3]), Guest.new("Charles", "Washington DC", "019204822",5, @parking_lots[4]) ] @all_guests = [] defaultGuests.each do |guest| @current_guests[guest.plot.nr] = guest @all_guests.push(guest) end end end # Returnerar en strängrepresentation av gästlistan, dvs to_s från Guest-klassen. # Om en plats är ledig skrivs texten "Ledig" ut. def to_s # skapa en tom sträng som fylls på vidare list = "Husvagnsgäster\n" # loopa från 1 till 32 (1..32).each do |n| # översätt positionen till 0-baserad array och kolla om det finns # någon gäst registrerad på positionen, och i så fall lägg till # texten i list if (!@current_guests[n-1].nil?) list += @current_guests[n-1].to_s else # annars, lägg till texten "Ledig" list += n.to_s + ": Ledig\n" end return list end # Naiv lösning till att slumpa fram en ledig parkeringsplats. Returnerar en # ledig plats (nummer mellan 1-32). def generateParkingLot # slumpa ett tal mellan 1 och 32 randomNr = 1+rand(32) # finns det en gäst på den (0-baserade) positionen? if (!@current_guests[randomNr-1].nil?) # isåfall, generera en ny siffra generateParkingLot else # returnera den genererade siffran return randomNr end end end require 'date' #inkluderar date klassen require 'camping_guests' #inkluderar filen med alla gäster require 'parking_lot' class Guest attr_accessor :firstname, :lastname, :address, :phone, :departure attr_reader :plot, :arrived # metod för gästen def initialize (firstName, lastName, address, phone, plot) @firstName = firstName @lastName = lastName @address = address @phone = phone @arrived = Date.today.to_s # dagens datum som en sträng @plot = plot end # konverterar den inskrivna registreringen till en sträng som jag konkatinerat def to_s return "Dina uppgifter: " + "\n\tFullständigt namn: #{@firstName} #{@lastName}" + "\n\tAdress: #{@address}" + "\n\tTelefon: #{@phone}" + "\n\tAnkomst: #{@arrived}" + "\n\tPlats: #{@plot}" + "\n\tElmätaren: #{@cabinet} kWh" + "\n\tTack välkommen åter!" end end class Menu def self.menu puts "---------------------------" puts " Meny" puts " 1. Incheckning" puts " 2. Utcheckning" puts " 3. Lista aktuella gäster" puts " 4. Lista samtliga gäster" puts " 5. Avsluta\n" puts "" puts " Vad vill du göra?" puts "---------------------------" print ": " action = get_input do_action(action) end # Hämtar menyval och returnerar valt alternativ. def self.get_input input = gets.chomp.to_i while input > 5 || input < 1 do puts "Du valde nog fel, försök igen." input = gets.chomp.to_i end return input end def self.do_action(action) # utför händelse baserat på valet case action when 1: check_in when 2: check_out when 3: puts @camping when 4: puts @camping.all_guests when 5: puts "Nu lämnar du campingen, välkommen åter!" exit end end =begin användaren kan checka in och här frågas efter uppgifter som sedan skapar ett Guest-objekt. Om det redan skapats en kommer denna att skrivas över. obs förslag på upplägget fick jag efter feedback på forumet stackoverflow där jag förklarade mitt problem och en kom med en lösning baserat på vad jag beskrivit =end def self.check_in puts " Var god skriv in för- och efternamn: " name = gets.chomp.split(" ") # detta splittar strängen i för -och efternamn puts "Skriv in adress: " address = gets.chomp puts "Skriv in ditt telefonnummer: " phone = gets.chomp puts "Ange datum för din ankomst" arrived = gets.chomp # hämta ledig plats och låta gästens plats peka på den newPLot = $camping.generateParkingLot newGuest = Guest.new(name, address, phone, arrival, $camping.parking_lots[newPLot-1]) $camping.current_guests[newPLot-1] = newGuest $camping.all_guests.push(newGuest) # lägg till gästen i historiken puts "Registreringen lyckades. Du har fått husvagnsplats " + newPLot.to_s + "." end # Checkar ut användaren. Om det inte finns en användare registrerad, skrivs # ett felmeddelande ut istället. def self.check_out puts "Välkommen till utcheckningen!\nFör att checka ut någon ange campingplats:" plot = gets.chomp_to_i guest = $camping.current_guests[plot-1] if (guest.nil? || plot < 1) puts "Det finns ingen gäst på den positionen eller så har du angett en ogiltig position." else puts "Du vill checka ut " + guest.name + "." puts "Ange utcheckningsdatum: " departureDate = gets.chomp.to_i guest.departure = departureDate guestStayedDays = departureDate - guest.arrival # antal dygn gästen har stannat guest.plot.increase(guestStayedDays) # ökar elmätaren puts guest # skriv ut gästen $camping.current_guests[plot-1] = nil # töm platsen end end end =begin Representerar en husvagnsplats. Varje husvagnsplats har ett nummer och en elmätare. =end class Parking_Lot attr_accessor :nr attr_reader :electricity_meter # Initierar en ny husvagnsplats med numret nr och en elmätare mellan # 2000 och 4000. def initialize (nr) @nr = nr @electricity_meter = 4000-rand(2000) # slumpa tal mellan 2000 och 4000 end # Ökar elmätaren för användning med en slumpmässig mängd mellan # 10-80 kWh per dygn. def increase_meter(days) generatedUse = (10+rand(70))*days puts "Ökar elmätaren med " + generatedUse.to_s + " kWh." @electricity_meter += generatedUse end # Returnerar en strängrepresentation av husvagnsplatsen. def to_s " Husvagnsplats #{@nr+1}: Elmätare #{@electricity_meter} kWh " end end</pre> <a href="http://www.refactormycode.com/codes/1371-help-undefined-method-for-nil-nilclass-nomethoderror" style="color:#fff" title="As seen on RefactorMyCode.com"><img alt="Small_logo" src="http://www.refactormycode.com/images/small_logo.gif" style="border:0" /></a>