W jaki sposób można przekształcić do postaci szeregowej tablicę i ponownie sformatować ją z ciągu znaków? Próbowałem następujący kod, ale tak naprawdę nie zwraca oryginalnej tablicy liczb całkowitych, ale robi dla tablicy ciągów.Jak serializować tablicę i przekształcać w postać szeregową
x = [1,2,3].join(',') # maybe this is not the correct way to serialize to string?
=> '1,2,3'
x = x.split(',')
=> [ '1', '2', '3' ]
Czy istnieje sposób, aby dostać się z powrotem do liczb całkowitych, ale bez .collect{ |x| x.to_i }
?
Co jest niebezpiecznego w ładowaniu zebranych danych? Czy może myślisz o 'eval'? Marszałek jest jedynym sposobem na zapewnienie oryginalnego kodowania. – pguardiario
Zacytować ruby docs dla marszałka "Według projektu :: load może deserializować prawie każdą klasę załadowaną do procesu Rubiego, w wielu przypadkach może to prowadzić do zdalnego wykonania kodu, jeśli dane Marshalla zostaną załadowane z niezaufanego źródła." –
Zastanawiam się, czy możesz podać konkretny przykład, gdzie w przypadku OP może się zdarzyć. Nie sądzę, że to naprawdę możliwe. – pguardiario