2017-05-26 11 views
1

clojureの合計noob - 完全な絶対パスを指定しない限り、.cljファイルと同じフォルダにあるファイルを読み込もうとすると、slurpを使用できません。clojure slurpに絶対パスが必要です

E.G. stuff/file.cljとstuff/words.txtがある場合、(slurp "words.txt")はファイルを見つけることができません。パス全体を置くと動作します。他の人々のコードや文書を読むことに基づいて、これは当てはまりません。それは、任意のパスに問題が発生した場合

私はちょうどClojureのアプリケーションの典型的であるフォルダ/挙構造の任意の並べ替えを作成せずに、このスクリプトは1オフを実行しているので、確認していない

答えて

3

slurpは、相対パスを取りますClojureプロジェクトでは、これは通常プロジェクトルート(project.cljが存在する場所)になります。しかし、プロジェクトなしでスタンドアロンのClojureファイルを実行しているだけなので、シェルの作業ディレクトリにする必要があります。

+0

Hmmm ...現在の作業ディレクトリではなく、clojureが存在する場所からsublimereplが実行されている必要があります。あなたがディレクトリにファイルをビルドすると、シェルはそのパスでインタプリタを呼び出すように、パス認識型のコマンドを構築するために使用します。 – Solaxun

+0

あなたのサブリムレップの使用に関連する問題のようです。 '(System/getProperty" user.dir ")'を実行することによって、JVMが作業ディレクトリと考えるものを見つけることができます。 – amalloy

+0

yep ....デフォルトの昇華の場所に、それをアクティブなディレクトリに設定する方法を理解する必要があります。どうも。 – Solaxun

関連する問題