Чтобы инициализировать a
, вы должны вызвать конструктор.Кроме того, вы можете использовать понимание для создания массива:
type a
b :: Int
c :: Int
end
d=[a(i,i^2) for i in 1:3]
, что дает
3-element Array{a,1}:
a(1, 1)
a(2, 4)
a(3, 9)
Также обратите внимание, что type
устарела, этоЛучше объявить ваши составные типы как:
struct Foo ... end
или
mutable struct Foo ... end
См. официальный документ: Составные типы и Изменяемые составные типы
Обновление (ваш комментарий): да, вы можете использовать любую функцию ...
function f() # can also use any argument
# long computation... for demo random number
b=rand(Int8)
c=rand(Int8)
return a(b,c)
end
f (generic function with 2 methods)
julia> d=[f() for i in 1:3]
3-element Array{a,1}:
a(80, 104)
a(98, -62)
a(-37, 17)