Ошибка «TypeError: нет неявного преобразования nil в String»

Следующий код возвращает ошибку (TypeError: no implicit conversion of nil into String) в последней строке:

And(/^the user makes the following changes in the response file "(.*)" and creates a uri with "(.*)" and wskey:$/) do |readFile, strURI,table|

  strRequestBody = $objFileIO.ReadFile(STR_FILE_SPEC + '/response/' + readFile)
  table.hashes.each do |rows|
    @request_uri = strRequestBody.gsub!(/#{rows[:parameter_in_response]}/, rows[:replace_with])
  end

  puts "this is url" + @request_uri   
end

person user3854376    schedule 21.09.2018    source источник
comment
@request_uri — это nil, который нельзя преобразовать в строку и соединить с "this is url". Это может быть область действия, поскольку @request_uri определяется только внутри цикла. Если вы хотите показать каждый uri, он также должен быть внутри блока.   -  person TomDunning    schedule 22.09.2018
comment
@ TomDunning, спасибо, Том... как мне получить значение @request_uri из цикла?   -  person user3854376    schedule 22.09.2018
comment
Просто определите его вне цикла. Тогда совок изменится.   -  person tukan    schedule 22.09.2018
comment
@tukan это сработало Спасибо   -  person user3854376    schedule 26.09.2018
comment
@ user3854376 добро пожаловать.   -  person tukan    schedule 27.09.2018


Ответы (1)


Просто определите его вне цикла, тогда совок изменится.

person tukan    schedule 27.09.2018