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
undefined method for nil:NilClass Ruby
<pre class='prettyprint' language='ruby'>require 'guest' require 'parking_lot' =begin Klass som representerar en camping. Varje Camping har ett fält bestående av 32 gäster (typen Guest), varav 5 genereras när Campingen skapas. Här finns möjlighet att registrera, ta bort och lista gäster. =end class Camping attr_accessor :current_guests, :parking_lots, :all_guests # Initiera Campingen genom att skapa fältet och generera 5 gäster på # slumpade platser i den 1-baserade listan def initialize # de nuvarande gästerna @current_guests = Array.new(32) # initiera husvagnsplatserna @parking_lots = Array.new(32) 32.times do |nr| @parking_lots[nr] = Parking_Lot.new(nr) end end # samtliga gäster @all_guests = [] # initiera incheckade gäster defaultGuests = Array[ Guest.new("Jake", "Halmstad", "1337", 1, @parking_lots[0]), Guest.new("Mark", "Amsterdam", "1234", 2, @parking_lots[1]), Guest.new("Conan", "Berlin", "2532", 3, @parking_lots[2]), Guest.new("Tom", "Chicago", "9318", 4, @parking_lots[3]), Guest.new("David", "Dubai", "6546", 5, @parking_lots[4]), ] # lägg in de incheckade gästerna i nuvarande gästerna samt historiken defaultGuests.each do |guest| @current_guests[guest.plot.nr] = guest @all_guests.push(guest) 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 = "" # 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 end return list end 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 return randomNr end end =begin Klass för att representera en campinggäst. Varje gäst har förnamn, efternamn, adress och telefonnummer, telefonnummer, ankomstdatum, en husvagnsplats och en elmätarställning. De tre sistnämnda genereras av programmet. =end class Guest attr_accessor :name, :address, :phone, :departure attr_reader :arrival, :plot def initialize (name, address, phone, arrival, plot) @name = name @address = address @phone = phone @arrival = arrival # dagens datum i strängformat @plot = plot end def to_s " Registrering för #{@name}: #{@address} #{@phone} Ankomst: #{@arrival} Utchecking: #{@departure} #{@plot} " end end require 'camping' require 'menu' class Main if __FILE__ == $0 $camping = Camping.new # skapa en ny camping puts "Välkommen till Ruby Camping!" # loopa igenom menyn while (true) Menu.menu end end end require 'camping' =begin Klass som ansvarar för att visa meny, hämta indata och utföra händelser beroende på val. =end class Menu # Skriver ut menyn def self.menu puts "------------------------------" puts "-- Meny --" puts "-- --" puts "-- 1. Incheckning --" puts "-- 2. Utcheckning --" puts "-- 3. Lista aktuella gäster --" puts "-- 4. Lista samtliga gäster --" puts "-- 5. Avsluta --" puts "------------------------------" action = get_input do_action(action) end def self.get_input input = gets.chomp.to_i # gets.to_i returnerar 0 vid fel så vi kollar efter intervallet 1-5 while input > 5 || input < 1 do puts "Felaktigt alternativ eller ogiltig indata." input = gets.chomp.to_i end return input end # Utför vald händelse baserat på valt alternativ. def self.do_action(action) case action # när valet är... when 1 # 1, gör då... check_in when 2 check_out when 3 puts $camping # skriv ut aktuella gäster when 4 puts $camping.all_guests when 5 exit end end def self.check_in puts "Skriv in ditt namn: " name = gets.chomp puts "Skriv in din adress: " address = gets.chomp puts "Skriv in ditt telefonnummer: " phone = gets.chomp puts "Skriv in ankomstdag (ett tal):" arrival = gets.chomp.to_i 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 en användare, det vill säga frigör parkeringsplatsen han/hon är # registrerad på. def self.check_out puts "Vilken gäst vill du checka ut? (ange husvagnsplatsnr):" plot = gets.chomp.to_i guest = $camping.current_guests[plot-1] # Fanns det någon gäst där? if (guest.nil? || plot < 1) # hantera fallet med negativt index 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 # gästen har stannat så många dygn guest.plot.increase(guestStayedDays) # öka på 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, :gauge; # Initierar en ny husvagnsplats med numret nr och en elmätare mellan # 2000 och 4000. def initialize (nr) @nr = nr @gauge = 2000+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(days) generatedUse = (10+rand(70))*days puts "Ökar elmätaren med " + generatedUse.to_s + " kWh." @gauge += generatedUse end # Returnerar en strängrepresentation av husvagnsplatsen. def to_s " Husvagnsplats #{@nr+1}: Elmätare #{@gauge} kWh " end end</pre> <a href="http://www.refactormycode.com/codes/1360-undefined-method-for-nil-nilclass-ruby" 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>