function Gradient(rgb::RGB)
push!(color,GrandientPoint(rgb,0))
end
あなたはここにcolor
を作ったことがないので、あなたはそれが存在していないではないpush!
color
にすることができるからです。実際、必要はありません。
function Gradient(rgb::RGB)
new(GrandientPoint(rgb,0))
end
最初のフィールドに値GrandientPoint(rgb,0)
を取得し、それを返しますGradient
を行いますタイプを定義するには、あなたはそれのための値でnew
を呼び出します。
あなたは配列を望んでいた場合は、あなたのタイプは
type Gradient
color::Vector{GrandientPoint}
end
だけではなくGraidentPointだろう。今度はそのコンストラクタを使ってそのベクトルを作ることができます。型には型の名前から分かりやすいコンストラクタがあります。したがって、Vector{GrandientPoint}
を作成するには、
を入力してください。コンストラクタの完全なコード:
type Gradient
color::Vector{GrandientPoint}
Gradient(color=[]) = new(Vector{GradientPoint}())
function Gradient(rgb::RGB)
color = Vector{GradientPoint}()
push!(color,GrandientPoint(rgb,0))
new(color)
end
end
しかし、それは配列になりますか?どのように要素を追加できますか? – exsnake
正しく理解していれば、@exsnakeは 'Vector {GradientPoint}'を望んでいることに注意してください。 (したがって、 'new(color)'と 'color []'。) –
ああ、それはタイトルをより理にかなっています。ええ、彼/彼女の元の問題のベクトルはありませんでした。私は、彼/彼女が望んでいた場合のために配列を含める答えを編集しました。 –