GNU Guileで.envを読み込む

#!/usr/bin/env guile -s !# (use-modules (ice-9 rdelim)) (define (dotenv-apply-from-file filename) (map (lambda (env-val) (apply setenv env-val)) (map (lambda (line) (let ((env-val (string-split line #\=))) `(,(car env-val) ,(car (cdr env-val))))) (call-with-input-file filename (lambda (dotenv-file) (let loop ((ls1 '()) (line (read-line dotenv-file))) (if (eof-object? line) (begin (close-input-port dotenv-file) (reverse ls1)) (loop (cons line ls1) (read-line dotenv-file))))))))) (dotenv-apply-from-file "/ng/symdon/public/.env")...

 · 1 min · しむどん三度無視

GNU Guileでファイル及びディレクトリ操作

ファイルシステムに関連するファイル及びディレクトリの操作はftwモジュールに実装されている。 ftwモジュールをインポートしておく。 (use-modules (ice-9 match) (ice-9 ftw)) ディレクトリ作成 mk...

 · 1 min · しむどん三度無視

GNU Guileでファイルを読み書きする

SchemeではファイルへのIOをファイル記述子を直接扱うのではなくポートというもので扱う。 ポートは入力や出力を行うためのもの。 https://www.gnu.org/software/guile/manual/html_node/Ports.html ファイルに書き込み ファイルを作...

 · 1 min · しむどん三度無視

Schemeの学習計画

インストール 学習目的 :: インストール方法の習得 Install https://symdon.ga/1610496693 CLIでHello world! 学習目的 :: Hello world!の作成を通してCLIの作り方の習得 Hello world 文字列を表示させるにはdisp...

 · 3 min · しむどん三度無視