0 / 0 / 0
Регистрация: 18.07.2019
Сообщений: 1
1

Проверка использования метода в классе. Новичок

18.07.2019, 16:54. Показов 2503. Ответов 2

Author24 — интернет-сервис помощи студентам
Привет.

Есть код:
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class NewClass
 
@list = []
 
  def method_1
    if @list.include?(any_value)
      #do smthn
    end
  end
 
  def method_2
    if method_1
      #do smthn
    else
      print 'error'
    end
  end
 
end
Он не работает ("спасибо, Кэп"). Что тут хотелось получить:
method_1: если @list содержит any_value, то #do smthn. Но если @list пустой, то выпадает ошибка типа NilClass. Как ее можно исправить?
method_2: если хоть раз использовался method_1, то #do smthn, если не использовался, вывести error.

Взываю и молю)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2019, 16:54
Ответы с готовыми решениями:

Проверка наличия метода в объекте/классе
Народ, подскажите каким образом в C# можно у объекта проверить наличие метода?

[новичок] проверка существования адреса
Привет, меня очень интересует каким образом можно проверить существование (доступность) ячейки...

Перегрузка метода в классе
Вопрос, конечно, очень тривиальный, но все же попрошу помощи у более опытных людей. В классе...

Шаблон метода в классе
Скажите, не могу использовать метод в классе на основе шаблона. Не выходит. class MYCLASS {...

2
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
18.07.2019, 20:56 2
как вы используете экземпляры этого класса? вы понимаете, что объявленный вами @list пустой массив не имеет отношения к экземплярам вашего класса? как вы хотите определить, что какой-либо метод экземпляра класса вызывался?
0
0 / 0 / 0
Регистрация: 30.07.2019
Сообщений: 1
30.07.2019, 01:40 3
как то так, и минитестом его голубчика, как минимум

Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Class
 
  attr_accessor :list 
  def method
    if ....
      raise .....
  end
end
 
point=Class.new
  begin
    point.method
  rescue => error
    puts "Error: #{error.message}"
  end
0
30.07.2019, 01:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2019, 01:40
Помогаю со студенческими работами здесь

В классе не видно метода
Доброго времени суток, реализация класса разбита на заголовочные файлы и исходники, но почему-то в...

Создание метода в классе
Добрый день. Написал алгоритм чтения файла, в котором создаётся вектор объектов, но не получается...

Смещение метода в классе
Есть такой класс.class ICOMPONENT { public: // Property management: virtual CHAR...

Перегрузки метода в классе
Осуществите в классе перегрузку метода del(тип1 i, тип2 j) c разными типами параметров так, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru