2012-07-10 20 views
26

Ai đó có thể giúp tôi với điều này? Tôi đang nướng bánh và tôi muốn mã trong ruby ​​nói "Chúc mừng sinh nhật Josh" trên băng.Làm thế nào tôi có thể viết mã "Happy Birthday Josh" trong ruby ​​

Ai đó có thể đưa ra một số ý tưởng? Josh là anh trai của tôi và là một lập trình viên khao khát.

Tôi thực sự sẽ đánh giá cao nó :)

+4

Nhập bằng Python thay vì MOHAHAHA. – Skurmedel

+3

Tôi không biết đủ để Ruby thực sự giúp đỡ, nhưng tôi tưởng tượng bạn muốn điều này là _really_ obfuscated code như một phần của trò đùa. Hãy xem ở đây để bắt đầu: http://rubyquiz.strd6.com/quizzes/158 – David

+5

điều này có vẻ như một cái gì đó cho Reddit hơn SO ... – tokland

Trả lời

0

đơn giản :-)

print "Happy Birthday Josh" 
+4

Quấn nó với một số mã không liên quan và chức năng khai báo, vì vậy nó "trông mát mẻ" đó là, tôi nghĩ, những gì OP muốn. =) –

+0

Có lẽ một tuyên bố vô dụng, hoặc một cái gì đó như thế ... chỉ "sprinkles". Vì vậy, để nói chuyện. –

+0

Sau đó, bạn cần một chiếc bánh rất lớn: p – Matten

28

đơn giản, chỉ cần google "Ruby Hello World" và thay đổi Hello World chống lại Happy Birthday Josh trong các ví dụ bạn sẽ thấy:

puts 'Happy Birthday Josh' 

đó là không phải là rất ngoạn mục, vì vậy nếu bạn muốn fancy nó lên một chút, bạn có thể viết

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

Đó là cuộc gọi trực tiếp bằng ruby ​​từ trình bao lệnh. Hoặc bạn có thể quấn nó vào một lớp học và phương pháp để làm cho nó trông mát mẻ hơn, nếu bạn có không gian trên bánh ;-)

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

Các đối số nhanh chóng và cli làm cho nó trông geeky đúng cách. = D –

+0

điều này có vẻ tuyệt vời cảm ơn bạn :)) – user1514243

+0

bạn được chào đón :) – Hinek

1
def HappyBirthday 
     puts "Happy Birthday Josh!" 
    end 

    if age == *INSERTAGEHEREWITHOUTSTARS* 
     HappyBirthday() 
    end 

Nếu đó là những gì bạn có ý nghĩa :)

+2

Tôi không biết, tôi nghĩ tôi sẽ bị nghẹt thở trên một chiếc bánh như vậy ... :) –

+4

NameError: biến không xác định cục bộ hoặc phương pháp 'tuổi 'cho chính: Object –

+0

Rõ ràng đây không phải là nghĩa đen được thực hiện .. – andy

12

Nếu có đủ chỗ trên chiếc bánh bạn thậm chí có thể làm điều gì đó như

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

(Giả sử nó sinh nhật lần thứ 20 của mình)

+8

Tiết kiệm không gian trên bánh bằng cách sử dụng vòng lặp for. Tối ưu hóa chúc mừng sinh nhật! –

+2

Tại sao không làm cho bánh lớn hơn 7 lần và thả lỏng vòng lặp. Mmmmmmm! –

2

Đó rõ ràng là một cái gì đó mà bạn phải làm với metaprogramming. Giải pháp đơn giản nhất mà tôi có thể nghĩ đến là:

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 

Nhưng có thể hơi lâu. xD

Các vấn đề liên quan