Существует также опция грубой силы
Пример
Declare @S varchar(max) = '65|67|69'
Set @S='|'+@S+'|'
Select @S = replace(@S,concat('|',DateID,'|'),'|'+convert(varchar(10),EventDate,101)+'|')
From tblEventDates
Select replace(substring(@S,2,len(@S)-2),'|',', ')
Возвращает
01/15/2019, 01/16/2019, 01/17/2019
Я думаю, что он происходит из среды жемчуга, и что он хотел бы получить все переменные, определенные в сценарии и сериализировать их. Таким образом, когда он загрузит файл, он вернет их. Я все еще ищу о том, как получить список переменных, но сериализация будет сделана с помощью Marshal.dump, и читать их назад будет сделано с Marshal.load. Я отредактирую сообщение, после того как я узнаю, как получить список всех определенных переменных.
РЕДАКТИРОВАНИЕ: найденный им!
Можно получить список всех переменных путем вызова этих методов:
local_variables
global_variables
И если бы Вы уже не получили свой код сериализации, я предложил бы что-то вроде этого:
local_variables.each {|var| my_array << MyVarObject.new(var,eval(var)) } # eval is used to get the value of the variable
и затем сериализируйте массив:
data = Marshal.dump(my_array)
File.open("myfile.ser","w") do |file|
file.puts data
end
Если бы я понял Ваш вопрос правильно - что требуется видеть все символы в программе затем, следующее должно добиться цели:
puts Symbol.all_symbols.inspect
“all_symbols” метод класса будет возвращать Массив каждого Символа в настоящее время в программе.
Я не полагаю, что существует, но Вы могли всегда использовать маршальский дамп/загрузку.