2016-02-16 17 views
-3

Я прочитал эти две строки кода в файле: это глава декларации классарубин декларация класса Синтаксис

class Myclass::Event 

    class DeprecatedMethod < StandardError; end 

Я понимаю, что первая строка объявляет класс с именем Event в пространстве имен LogStash , Я хотел бы знать, что означает вторая строка.

UPDATE: На самом деле я узнал, что класс в рубин следует объявить как

class Myclass::Event 


// body of the classe here : methods and so on... 

end 

Но что это значит иметь что-то вроде этого?

class Myclass::Event 
    class DeprecatedMethod < StandardError; end // whatdoes this line means ? 

    // body of the classe here : methods and so on... 
    end 
+0

Задайте свой вопрос. Что именно вы хотите объяснить? –

+0

@LukasBaliak извините, если я не был ясен. Я только что обновил свой вопрос. –

+0

Хорошо, так что ваш ответ @SergioTulentsev. –

ответ

3

Вторая строка объявляет DeprecatedMethod в LogStash::Event. Таким образом, полное имя (FQN) для этого класса - LogStash::Event::DeprecatedMethod. Кроме того, этот класс является подклассом StandardError.

Я понимаю, что первая строка объявляет класс с именем Event

Почти. Первая строка открывает декларацию класса. Он неполный без соответствия end и приведет к синтаксической ошибке, если эти две строки являются всем кодом в файле. Вторая строка - это полная декларация, хотя (имеет соответствие end).

+0

и 'DeprecatedMethod' является подклассом из класса' StandardError' –

+0

@LukasBaliak: да, но это, вероятно, не имеет значения здесь. –

+1

Может быть, он не понимает, что «Устаревший метод»

Смежные вопросы