В настоящее время у меня есть система, которая включает в себя довольно много новых экземпляров класса, поэтому мне пришлось назначать их с помощью массива, как было предложено здесь: Create and initialize instances of a class with sequential namesСоздание новых экземпляров класса внутри массива без перезаписывания существующих
Однако я буду постоянно добавлять новые экземпляры всякий раз, когда появляется новый, без перезаписывания существующих. Может ли быть какой-то валидацией, а измененная версия моего существующего кода - лучший вариант?
Это мой код, в настоящее время каждый раз, когда он запускается, существующие данные перезаписываются. Я хочу, чтобы статус был перезаписан, если он изменен, но я также хочу иметь возможность хранить одну или две переменные там постоянно.
E2A: Игнорируйте глобальные переменные, они просто для тестирования.
$allids = []
$position = 0 ## Set position for each iteration
$ids.each do |x| ## For each ID, do
$allids = ($ids.length).times.collect { MyClass.new(x)} ## For each ID, make a new class instance, as part of an array
$browser.goto("http://www.foo.com/#{x}") ## Visit next details page
thestatus = Nokogiri::HTML.parse($browser.html).at_xpath("html/body/div[2]/div[3]/div[2]/div[3]/b/text()").to_s ## Grab the ID's status
theamount = Nokogiri::HTML.parse($browser.html).at_xpath("html/body/div[2]/div[3]/div[2]/p[1]/b[2]/text()").to_s ## Grab a number attached to the ID
$allids[$position].getdetails(thestatus, theamount) ## Passes the status to getdetails
$position += 1 ## increment position for next iteration
end
e2a2: Собираюсь вставьте из моего комментария:
Хм, я просто думал, я начал, сделав предыдущие значения сваливать в другую переменную, то другой переменной захватывает новые значения, и перебирает над ними, чтобы увидеть, соответствуют ли предыдущие значения. Это довольно грязный способ сделать это, хотя, я думал, будет self.create с || = работать? - Joe 7 мин. Назад
Не могли бы вы точно указать, какие данные и в какой переменной вы хотите хранить постоянно, пожалуйста? – hedgesky
Несомненно, большое спасибо за ответ :) Данные, которые должны быть сохранены (по крайней мере, для немного), были бы статусом, а внешние переменные, которые будут храниться там постоянно, будут называться progress и messagecount. – Joe
Хм, я просто думал, что я начал с того, что предыдущие значения выгрузили в другую переменную, затем другая переменная захватывает новые значения и повторяет их, чтобы увидеть, соответствуют ли предыдущие значения. Это довольно грязный способ сделать это, хотя, я думал, будет self.create с || = работать? – Joe