首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure Newbie - Namespace问题

Clojure Newbie - Namespace问题
EN

Stack Overflow用户
提问于 2012-12-14 06:25:12
回答 1查看 139关注 0票数 4

我正在学习Clojure,到目前为止,我还不能理解这个小难题,我确信它是非常基本的。

我有这个文件:

代码语言:javascript
复制
(ns cloapp.core
  (:gen-class))

(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  (println "Hello, World!")
  (println "Well Hi there, im a string !")
  (println "Why wont this work !")
  (myFunc "Hiya"))

(defn myFunc [aVar]
    (println aVar))

如果我试着用来运行它,

代码语言:javascript
复制
lein run

它抱怨说,

代码语言:javascript
复制
Caused by: java.lang.RuntimeException: Unable to resolve symbol: myFunc in this context

但是如果我从main中删除对myFunc的调用,

代码语言:javascript
复制
lein repl
cloapp.core=> (myFunc "Hiya !")
Hiya !
nil
cloapp.core=> 

那我就可以给它打电话了。为什么会这样呢?我假设这与名称空间有关,但仔细阅读后,我无法理解它。

一个

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-14 06:32:52

myFunc符号尚未定义,因此main找不到它。如果你把myFunc的定义移到main上面,那么它就会起作用。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13869581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档