2012-11-25 26 views
29

Tôi chỉ học ROR và tôi bắt gặp các câu lệnh if/else. Tôi cũng đi qua 'elseif' nhưng trình soạn thảo văn bản của tôi (textmate) không chọn nó làm từ khóa, cũng như chương trình không chạy đúng cách.Liệu 'elseif' vẫn tồn tại?

if name == 'Chris' 
    puts 'What a lovely name.' 
elseif name == 'Katy' 
    puts 'What a lovely name!' 
end 

Tôi đang sử dụng cuốn sách Tìm hiểu về chương trình, được viết cách đây vài năm. Tôi đã tự hỏi nếu 'elseif' đã được thay đổi bởi vì, khi tôi chỉ đơn giản là sử dụng 'khác', nó có vẻ hoạt động đúng.

+10

Tìm kiếm đơn giản trên Google 'ruby elseif' sẽ cung cấp cho bạn câu trả lời rằng nó thực sự được viết' elsif'. – Gumbo

+2

Tôi googled nó nhưng thậm chí không nghĩ rằng tôi đã sai chính tả nó. Cảm ơn bạn đã cho tôi biết – catchmikey

+0

@sawa Tôi không nghĩ bạn có thể sử dụng dấu phẩy sau "vì". –

Trả lời

110

Đó là elsif, không elseif.

Hơi khó hiểu khi bạn mới, có thể.

+3

dành một giờ trên nó – Neeraj

+1

tại sao ruby ​​không hiển thị lỗi khi ai đó sử dụng '' 'elseif''' thay thế? – yincrash

+0

Tôi là người sai để hỏi. Mặt khác, tôi không nghĩ nhiều ngôn ngữ lập trình sẽ cho bạn biết "Rất tiếc, bạn đã nhận được một trong các từ khóa của tôi sai, hãy thử lại". Tôi nghĩ rằng hình thức 'elsif' là một trong những khía cạnh của Ruby đến từ Perl. –

25

Hãy thử với elsif (không có số thứ hai e).

Source

+6

Độc ác rằng đây là câu trả lời đầu tiên ha! – Rambatino

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