Clojure 导入包

最近迷上了markdown编辑,总是迫不及待想要拿来记录点什么。看Storm源码总是看到包和方法的引用,一而再再而三的没有记住,索性就抄文一篇以加深记忆,只是原文没有什么排版可言。本人只是用markdown重做排版,并未有任何干货可言。

首先奉上原文链接

require

require只负责引入clojure库,不绑定函数到当前的 ns 中

;;引入 java io,并制定缩略名为 io
(require '[clojure.java.io :as io])
;;使用
(io/file "fileName")
;;在ns中使用
(ns test
    (:require [clojure.java.io :as  io]))

refer

绑定函数到当前的 ns 中。例如Clojure代码

;;把 trim 和 capitalize 绑定到当前的 ns 中,可以直接调用者这两个方法
(refer 'clojure.string:only '[capitalize trim])

;;在 ns 中的写法
(ns test
    (:refer clojure.string :only [capitalize trim]))

use

引入并绑定,相当于 require + refer。

;;引入并绑定 split 方法,之后就可以直接使用了
(use '[clojure.string :only (split)])
;;直接在当前 ns 中使用 split
(split "hello,world" #" ,")
;;在 ns 中的写法
(ns test
    (:use [clojure.string :only (split)]))

import

和 require 相似,不过 import 负责引入 java 库, require 负责引入 clojure 库。

;;引入 Calender
(import [java.util Calender])
;;使用
(Calender/getInstance)
;;在 ns 中的写法
(ns test
    (:import [java.util Calender]))
  • use 在函数名称没有冲突,而且函数很常用的情况下使用比较合适。
  • require 对于怕有名称冲突的情况下使用比较合适;
  • import 就是用来引入java库的

最后唠叨一句:Storm学习还任重道远!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值