2016-09-28 11 views
0

DataArrays.DataArray yを一意の引数として使用して、fun1という関数を作成したいとします。 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

関連する問題