Julia 结构和module基本用法

Julia 作为高级语言,很好的封装特性肯定是基本特征, Julia的基本结构是 最外面一层是module 下面包含一系列function。在julia里面function非常廉价而高效,建议所有功能都装进function里,而不是写在外面。

module Modulename
	#function
		#....#....
end

如果你将自己编写的module存在了不同的目录,比如MyModule.jl 放在~/下,执行

	 using MyModule

会报错,因为Julia认为你用的包没有下载,julia 用 LOAD_PATH来管理路径,我们查看一下LOAD_PATH的类,

(typeof是一个常用函数,用来查看类,julia中所有东西,不论是变量还是操作都含有类,可以通过定义类来对变量进行限制或者根据不同的类实现同一操作比如+,具有无限多可能的methods)

	typeof(LOAD_PATH)

返回:Array{Any,1} 可见是一个任何类型(1.0版本特征,0.6前是String)的一维Array。
我们可以通过

		push!(LOAD_PATH, "~/.")

添加进去,以后就可以直接using 了。建议自建的module还是放在一起的好。
举个栗子

	module MyModule
		f(x,y)= x^2 + y^2
		function hello(name)
			println("hello",name)println("hello",name)
		end
	end
	using MyModule

此时如果调用

   MyModule.<Tab>

会自动补全你模块下函数,并给出补全提示,非常爽。如果想不用模块名直接调用内部函数,需要在模块里加上

	module MyModule
	export f
		f(x,y)= x^2 + y^2f(x,y)= x^2 + y^2
		function hello(name)
			println("hello",name)println("hello",name)
		end
	end

就可以直接调用f了。

如果你项避免冲突,不想直接调用f,可以通过

	import MyModule

而不是

    using MyModule

这样MyModule里面所有函数都需要MyModule. 来进行调用了。

当然这只是Module的入门,比如和Python很像的__init__函数等功能,就需要慢慢学习了。

下次可能学习一下 struct, 这个和Module容易产生混淆,其实用法区别很大的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值