2016-02-04 10 views
2

Что такое простой способ вывода текста в файл в версии, совместимой с R5RS? Я использую MIT MEEP (который использует Scheme для сценариев), и я хочу вывести текст в файл. Я нашел следующие другие ответы на Stackoverflow:R5RS Схема ввода-вывода: как написать/добавить текст в выходной файл?

File I/O operations - Scheme

How to append to a file using Scheme

Append string to existing textfile [sic] in IronScheme

Но они были не совсем то, что я искал.

ответ

2

Ответы на Чарли Мартин, Бен Rudgers и Виджай Mathew были очень полезны, но я хотел бы дать ответ, который является простым и легким для понимания новых махинаторов, как я :)

; This call opens a file in the append mode (it will create a file if it doesn't exist) 
(define my-file (open-file "my-file-name.txt" "a")) 

; You save text to a variable 
(define my-text-var1 "This is some text I want in a file") 
(define my-text-var2 "This is some more text I want in a file") 

; You can output these variables or just text to the file above specified 
; You use string-append to tie that text and a new line character together. 
(display (string-append my-text-var1 "\r\n" my-file)) 
(display (string-append my-text-var2 "\r\n" my-file)) 
(display (string-append "This is some other text I want in the file" "\r\n" my-file)) 

; Be sure to close the file, or your file will not be updated. 
(close-output-port my-file) 

И для любых сохраняющихся вопросов о целом «\ г \ п» вещь, смотрите следующий ответ:

What is the difference between \r and \n?

ура!

+0

Вы проверили это? Я считаю, что в ваших заявлениях о отображении отсутствует парн. И пока мы здесь. Почему бы не определить текст для включения новой строки? – Rptx

+0

Спасибо за голова о круглых скобках. У меня был этот код на другой машине, когда я написал его, поэтому я пропустил их. Что касается «\ n», убедитесь, что вы можете вставить текстовую строку, но если вы пытаетесь добавить вывод функции, это делает ее более понятной. – ansebbian0