Мне было интересно, есть ли самый простой способ избавиться от «я» при вызове функции из другого класса. Пример: у меня есть класс, который имеет функцию.Как и почему я должен избегать использования «self» в объявлении метода Ruby
module Portfolio
class Main < Sinatra::Base
def self.create_user(username,password,confirm_pass,fullname)
@creation_flag = false
begin
if password == confirm_pass
@creation_flag = User.create(username: username,password: password,full_name: fullname).valid?
end
rescue Exception => e
puts 'Error Occured: '+e.message,""
end
return @creation_flag
end
def self.
end
end
использовать это я должен объявить self.create_user(params goes here)
есть способ избавиться от себя ?.
Заранее спасибо.
Если вам нужно объявить метод класса, это лучший способ сделать это. Не волнуйтесь о синтаксисе, это просто означает «определить метод класса» в этом случае. – tadman
ой, я видел проект, который имеет ограниченное использование «я», я не знаю, плохо ли мой код или просто отлично. Кстати, спасибо за мнение. –
Также стоит отметить, что '@ creation_flag' будет сохраняться на протяжении жизни этого класса, что кажется действительно беспорядочным. Это используется где-нибудь еще? Если нет, сделайте его локальной переменной. – tadman