Ruby: сохраняйте и обновляйте переменную между запусками скрипта - PullRequest
1 голос
/ 23 мая 2019

Новичок на ruby ​​здесь:

Мне нужно создать скрипт ruby, который будет выполняться несколько раз, когда я получаю разные данные о событиях.При каждом получении события этот сценарий будет запускаться.

Я бы хотел, чтобы этот сценарий получил доступ к переменной среды и создал новую переменную на основе переменной среды.Я также хотел бы хранить эту новую переменную где-нибудь и снова обращаться к ней при повторном запуске сценария (при получении другого события).

Есть ли способ сохранить переменную и обращаться к ней между выполнениями скриптов?Я думал о том, чтобы сохранить его в отдельном текстовом файле, а затем получить доступ к этому файлу, но есть ли другой способ добиться этого?

1 Ответ

2 голосов
/ 23 мая 2019

Вы должны сохранить его в файл, для этого нужны файлы!

Если вам требуется доступ к переменной только из Ruby (например, вам не нужно иметь возможность редактировать сохраненный файл в текстовом редакторе), простой способ сделать это с помощью Marshal .

data = {a: 1, b: ["two"]}

# save
File.open("savefile", "w") { |f| Marshal.dump data, f }

# load
loaded = File.open("savefile") { |f| Marshal.load f }

loaded == data # true

Более надежным и стабильным решением было бы сохранить его как JSON , но это может быть непросто, если ваши данные не соответствуют типам JSON естественным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...