Ошибка заключается в том, что когда контроллер выполняет другое действие, переменные экземпляра, подобные этому, не обязательно переносят / получают набор, а любая неопределенная переменная экземпляра по умолчанию принимает значение nil
. Предполагая, что это представление списка на ResultsController#show
, один вариант будет для ResultsController
выглядеть примерно так:
before_action :a_list, only: :show
def show
# Any other code for show
end
def a_list
list = Gibbon::Request.lists("9225cefb61").members.retrieve(params: {"fields": "members.email_address"})
list_hash = list.body
@result_array = list_hash['members'].map { |ea| ea['email_address'] }
end
При этом используются встроенные Rails Filters для обработки выполнение цепочки сообщений при отображении вашего представления. Поскольку #a_list
выполняется до #show
, значение @result_array
сводится к виду.
Нет ничего в.NET, которая абсолютно эквивалентна StreamTokenizer. Для простых случаев можно использовать Строку. Разделение (), но для более усовершенствованного маркерного парсинга, Вы, вероятно, закончите тем, что использовали Систему. Текст. RegularExpressions. Regex.
Для маркирования строки использовать string.Split(...)
.
Существует токенизатор в библиотеке Nextem - Вы видите пример здесь: http://trac.assembla.com/nextem/browser/trunk/Examples/Parsing.n
Это реализовано как макрос Nemerle, но можно записать это и затем использовать его от C# легко.
У нас была та же проблема нахождения StreamTokenizer, эквивалентного при портировании tuProlog от Java до C#. Мы закончили тем, что писали то, что насколько я знаю, прямое преобразование StreamTokenizer, который берет TextReader в качестве "потока" во входных целях. Вы найдете код в загрузке для tuProlog.NET 2.1 (LGPL-лицензированным), так не стесняйтесь снова использовать и адаптировать его к Вашим потребностям.
Используйте Систему. Строка. Разделение, если необходимо разделить строку на основе набора определенных символов.
Используйте Систему. Текст. RegularExpressions. RegEx. Разделение к разделению на основе соответствия шаблонам.
Я не думаю так, поскольку очень простое маркирование взглянуло на Систему. Строка. Разделение ().
Более сложное маркирование может быть достигнуто Системой. Текст. RegularExpressions. Regex.