私はSchemeが初めてで、今日、解決できない次の問題に遭遇しました。ファイルシステムを表すツリーのノードを次のように表現しています。
(directory_name content) ディレクトリ
の場合 file_name ファイルの場合
(directory_name null) 空のディレクトリの場合
たとえば、("etc/" (("network/" ("interfaces")))) はパス etc/network/interfaces のツリーです。
私がしなければならないことは、この種のツリーとディレクトリ/ファイル名を引数として受け取り、存在する場合はそのパスを返す関数を作成することです。ディレクトリ/ファイルが存在しない場合は #f を返します。
例えば:
(define tree '("/"
(("etc/" ("network/" ("interfaces")))
("root/" null))))
関数の名前を get-path とすると、(get-path tree "interfaces") を実行すると、"/etc/network/interfaces" が出力されます。
私が欲しいのはアイデアだけです。もし私にそれをくれたら、私は感謝します。