Ruby:
Tworzenie pliku tymczasowego

Co i Dlaczego?

Tworzenie plików tymczasowych pozwala na bezpieczne przechowywanie danych tylko na czas trwania procesu. Programiści używają ich, gdy potrzebują miejsca na dysku, które zniknie bez śladu po zakończeniu pracy.

How to:

Jak to zrobić:

Ruby ma wbudowaną bibliotekę Tempfile do obsługi plików tymczasowych. Użyj jej tak:

require 'tempfile'

Tempfile.create('moj_plik') do |plik|
  plik.write('Witaj, świat!')
  puts "Plik tymczasowy istnieje: #{plik.path}"
end

# Po wyjściu z bloku, plik jest automatycznie usunięty.
puts "Plik tymczasowy został usunięty? #{!File.exist?(plik.path)}"

Sample output:

Plik tymczasowy istnieje: /tmp/moj_plik20180319-4721-x3shzn
Plik tymczasowy został usunięty? true

Deep Dive:

Wgłębiając się:

W Ruby, pliki tymczasowe działają dzięki Tempfile, który z kolei korzysta z klas niższego poziomu jak File i Dir. W przeszłości, zanim Tempfile stała się częścią standardowej biblioteki, tworzenie plików tymczasowych było bardziej żmudne i podatne na błędy.

Alternatywnie, możesz stworzyć własne zarządzanie plikami tymczasowymi, używając klas File i Dir, ale pamiętaj o manualnym usuwaniu pliku. Tempfile automatycznie usuwa plik po zamknięciu obiektu lub gdy proces kończy działanie.

Pod kątem implementacji, Tempfile tworzy unikalne nazwy dla plików, aby zapobiec konfliktom, gdy wielu użytkowników lub procesów tworzy pliki tymczasowe jednocześnie. Zawiera też mechanizmy zabezpieczające przed atakami typu race condition.

See Also:

Zobacz również: