2014-01-03 4 views
0

Так что я знаю, что я могу написать Socket.puts текст своим клиентам, но как я могу отправить что-то вроде массива? Я хочу отправить целый массив клиенту, но я не уверен, как бы я это сделал.Как отправить ARRAY клиенту в Ruby?

Спасибо!

ответ

0

Вам необходимо сериализовать объект тем или иным способом. Одним из самых популярных способов на сегодняшний день является JSON. Вы можете превратить объект в строку:

require "json" 
[:foo, "bar"].to_json 
# => "[\"foo\",\"bar\"]" 

отправить эту строку, а затем расшифровать его на машине на другом конце:

require "json" 
JSON.parse("[\"foo\",\"bar\"]") 
# => ["foo", "bar"] 

Обратите внимание, что стандарт «JSON» библиотека теряет различие между строкой и символом. Если это имеет значение, тогда найдите аналогичную библиотеку или метод сериализации.

+0

Спасибо. Я не очень хорошо знаком с json - знаете ли вы о каких-либо хороших учебниках? – Yallo

+0

JSON - распространенный формат, а не только для Ruby, поэтому вы найдете много материалов в Интернете. В частности, для Ruby рассмотрим документацию для библиотеки json. – sawa

Смежные вопросы