Size: a a a

2020 June 22

m

moffire in RubyRush
Алексей
ошибка: `<<': undefined method `map' for nil:NilClass (NoMethodError)
Переменная csv не относится ни к какому классу
источник

m

moffire in RubyRush
Попробуйте так
csv = CSV.open(.....)
csv <<......
источник

А

Алексей in RubyRush
puts csv.class ->CSV
источник

S

Sergey in RubyRush
moffire
Переменная csv не относится ни к какому классу
так это переменная блока
источник

m

moffire in RubyRush
Sergey
так это переменная блока
Так а метод open вообще умеет принимать блоки?
источник

S

Sergey in RubyRush
moffire
Так а метод open вообще умеет принимать блоки?
да
источник

S

Sergey in RubyRush
источник

m

moffire in RubyRush
Согласен, загуглил доку
источник

m

moffire in RubyRush
Тогда возможно надо полный путь до файла прописать, а не относительной
источник

А

Алексей in RubyRush
фйл создается с заголовками
источник

А

Алексей in RubyRush
CSV.open("test.csv", "w") do |csv|
 csv << ["Product Name", " Product Price", " Link Image"]
источник

А

Алексей in RubyRush
но вот массив под них не записывает
источник

m

moffire in RubyRush
источник

А

Алексей in RubyRush
arr.each do |val|
   csv << val
 end
источник

А

Алексей in RubyRush
значение val- строка
источник

А

Алексей in RubyRush
в этом ошибка видимо
источник

S

Sergey in RubyRush
Алексей
arr.each do |val|
   csv << val
 end
да, блок не видит почему-то окружение блока, в который он вложен
источник

S

Sergey in RubyRush
Алексей
arr.each do |val|
   csv << val
 end
У вас массив из одного элемента. Сделайте без цикла
источник

S

Sergey in RubyRush
а если все же хотите итерировать, то можно попробоавть заменить each на for
источник

А

Алексей in RubyRush
да, массив неверной конфигурации
источник