2014-01-31 5 views
1

Я стараюсь следовать примеру в Clojure Data Analasys Cookbook. Я использую LightTable для игры с программой. В первом примере показано, как читать данные CSV.Простая программа clojure не работает

Я использовал lein новые данные получения. Затем я добавил два зависимостей в файл проекта

(defproject getting-data "0.1.0-SNAPSHOT" 

    :description "FIXME: write description" 
    :url "http://example.com/FIXME" 
    :license {:name "Eclipse Public License" 
      :url "http://www.eclipse.org/legal/epl-v10.html"} 
    :dependencies [ 
        [org.clojure/clojure "1.5.1"] 
        [incanter/incanter-core "1.4.1"] 
        [incanter/incanter-io "1.4.1"] 
       ] 
) 

Затем в файле core.clj я говорю, как показано ниже, с помощью CMD-Shift-Enter в LightTable, чтобы оценить программу, но я получаю эти исключения:

(use 'incanter.core 'incanter.io) 

clojure.lang.Compiler $ CompilerException: java.lang.RuntimeException: Не удается разрешить символ: использование в этом контексте компиляции: (/ Users/IDF/Документы/Clojure/посаживания данных/SRC/getting_data/ядро .clj: 1: 1)

(read-dataset "data/small-sample.csv") 

clojure.lang.Compiler $ CompilerException: java.lang.RuntimeException: невозможно разрешить символ: read-dataset в этом контексте, скомпилировать: (/ Users/idf/Documents/clojure/get-data/src/get_data/core.clj : 4: 1)

Не уверен, что я делаю неправильно?

+0

Можете ли вы показать весь свой project.clj? –

+0

Только что отредактировал сообщение. – user1676605

+0

Как вы оцениваете/компилируете выражения? –

ответ

1

«Невозможно разрешить символ: использование в этом контексте» означает, что среда светлой таблицы не может в принципе оценить что-либо: ни одна связанная с использованием расы не может быть проблемой. Не используя световой стол, я не могу предложить дальнейшие советы по его исправлению, но похоже, что вы каким-то образом бродили в пространство имен, которое не имеет clojure.core. Он должен работать, если вы (clojure.core/refer 'clojure.core) перед остальной частью кода, который вы действительно хотите запустить, но, конечно, это не обязательно.

0

поставить код

(ns getting-data.core) 
(use 'incanter.core 'incanter.io) 
(read-dataset "data/small-sample.csv") 

в созданном core.clj ходу файла там и нажмите Strg войти. Теперь он должен оценивать все внутри редактора. В качестве альтернативы откройте проект и откройте Instarepl и LightTable, чтобы спросить вас, в какой проект должен вставить реплика.

рассматривает Фрике

Смежные вопросы