2012-07-10 7 views
26

Qualcuno può aiutarmi con questo? Sto facendo una torta e voglio il codice in rubino che dice "Buon compleanno Josh" sulla glassa.Come posso codificare "Happy Birthday Josh" in ruby ​​

Qualcuno può dare qualche idea? Josh è mio fratello ed è un avido programmatore.

Vorrei davvero apprezzare :)

+4

Digitalo in Python invece MOHAHAHA. – Skurmedel

+3

Non conosco abbastanza Ruby per aiutare davvero, ma immagino che tu voglia che questo sia _really_ codice offuscato come parte dello scherzo. Date un'occhiata qui per i principianti: http://rubyquiz.strd6.com/quizzes/158 – David

+5

questo sembra qualcosa per Reddit più di SO ... – tokland

risposta

0

:-) Semplice

print "Happy Birthday Josh" 
+4

Avvolgilo con qualche codice estraneo e la dichiarazione di funzione, quindi "sembra interessante" che è, penso, che cosa l'OP vuole. =) –

+0

Forse un'istruzione if inutile, o qualcosa del genere ... solo "spruzza". Per così dire. –

+0

Allora hai bisogno di una torta molto grande: p – Matten

28

Semplice, basta google "Ruby Ciao Mondo" e cambiare Ciao mondiale contro Buon compleanno Josh negli esempi che troverete:

puts 'Happy Birthday Josh' 

Questo non è molto spettacolare, quindi se si vuole di fantasia su una punta, si potrebbe scrivere

$ ruby -e "puts 'Happy Birthday Josh'" 

Questa è una chiamata diretta in ruby ​​dalla shell dei comandi. Oppure si potrebbe avvolgerlo in una classe e metodo per farlo sembrare più fresco, se avete lo spazio sulla torta ;-)

class Wish 
    def self.congratulate_josh 
    puts 'Happy Birthday Josh' 
    end 
end 
Wish.congratulate_josh 
+4

Gli argomenti prompt e cli lo fanno apparire correttamente geek. = D –

+0

questo sembra fantastico grazie :)) – user1514243

+0

prego :) – Hinek

1
def HappyBirthday 
     puts "Happy Birthday Josh!" 
    end 

    if age == *INSERTAGEHEREWITHOUTSTARS* 
     HappyBirthday() 
    end 

Se è questo che vuoi dire :)

+2

Non so, penso che mi piacerebbe soffocare su una torta del genere ... :) –

+4

NameError: variabile locale non definita o metodo 'age 'per main: Oggetto –

+0

Ovviamente questo non è letteralmente pensato per essere eseguito .. – andy

12

Se c'è abbastanza spazio sulla torta si potrebbe anche fare qualcosa di simile

for i in 1..20 
    puts "Happy Birthday Josh!" 
end 

(ammesso che sia il suo 20 ° compleanno)

+8

Risparmio di spazio sulla torta utilizzando un ciclo for. Saluti di compleanno ottimizzati! –

+2

Perché non rendere la torta 7 volte più grande e svolgere il ciclo. Mmmmmmm! –

2

Questo è chiaramente qualcosa che devi fare con metaprogramming. La soluzione più semplice che posso pensare sarebbe:

class Messager 
    HOLIDAYS = ["Birthday"] 
    PERSONS = %w{ Josh } 

    HOLIDAYS.each do |holiday| 
    PERSONS.each do |person| 
     define_method "congratulate_#{holiday}_to_#{person}" do 
     puts "Happy #{holiday}, #{person}!" 
     end 
    end 
    end 
end 

messager = Messager.new 
messager.congratulate_birthday_to_Josh 

Ma forse è un po 'troppo lungo. xD