Переназначить изменяемое поле структуры типа Union {Nothing, Float64} в Julia

Скажем, у меня есть простая изменяемая структура с полем, которое может быть Float или Nothing.

mutable struct Foo
    bar::Union{Nothing, Float64}
end

foo = Foo(0.42)
foo.bar = Nothing

Если я попытаюсь присвоить ему значение Nothing, я получу такую ​​ошибку:

MethodError: Cannot `convert` an object of type Type{Nothing} to an object of type Float64

Стоит ли определять структуру по-другому? Или есть другой способ обойти это?

заранее спасибо


person alejandrociatti    schedule 25.02.2019    source источник
comment
Вы также получите сообщение об ошибке, если напишите foo.bar = Float64.   -  person DNF    schedule 25.02.2019


Ответы (1)


Используйте 1_. Nothing - это тип nothing.

person Bogumił Kamiński    schedule 25.02.2019
comment
Спасибо Богумил! - person alejandrociatti; 25.02.2019