2016-09-28 38 views
0

我想写一个函数fun1与DataArrays.DataArray y作为唯一的参数。 y可以是整数或浮点数(以矢量或矩阵形式)。Julia:方法和DataArrays.DataArray

我试图按照在stackoverflow(Functions that take DataArrays and Arrays as arguments in Julia)和官方文档(http://docs.julialang.org/en/release-0.5/manual/methods/)中找到的建议进行操作。但是,我无法编写足够灵活的代码来处理y周围的不确定性。

我想有这样的事情(而且能够处理数字DataArrays.DataArray):

function fun1(y::Number) 
    println(y); 
end 

什么建议吗?

回答

1

一个选项可以定义:

fun1{T<:Number}(yvec::DataArray{T}) = foreach(println,yvec) 

然后,

using DataArrays 
v = DataArray(rand(10)) 
w = DataArray(rand(1:10,10)) 
fun1(v) 
# 
# elements of v printed as Flaot64s 
# 
fun1(w) 
# 
# elements of w printed as Ints 
# 

一个微妙的,但经常性一点要注意的是其必要定义参数函数朱莉娅参数类型的不变性。查看关于类型的文档应该澄清这个概念(http://docs.julialang.org/en/release-0.4/manual/types/#types)。

+0

谢谢,这就是我一直在寻找的东西。我会仔细阅读官方文档的这一部分。 – merch