Хитрый | Как разобрать файл? - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь понять, как манипулировать переменными скрипта guile через файл конфигурации, вместо того, чтобы редактировать исходный код.

Получил файл с именем test.cfg , который содержит это:

name = Gareth
my-num = 123
rand-string = Hello, world!

Вот сценарий с именем read-file , который у меня есть:

#!/usr/bin/guile \
-e main -s
!#

(use-modules (ice-9 textual-ports))

(define (read-file file)
  (call-with-input-file file
    (lambda (port)
      (get-string-all port))))

(define get-name
  (call-with-input-file "test.cfg"
    ;; Code to get value of `name` from test.cfg here.
    ))

(define (main args)
  (display (read-file "test.cfg"))
  (display (get-name))
  (newline))

В конечном результате, когда name изменяется в test.cfg , get-name в read-file должен вернуть новое значение.

...