Как можно добавить «allow nil» к объявлению типа в Ruby?
Я знаком с аннотациями типов в Ruby. Однако нигде не было упоминания о типах, допускающих нулевое значение. То есть примерно так:
class Merchant
attr_reader token: String # never nil
attr_reader name: String # how to signal it that it may be nil?
[.......]
end
И наоборот: я хочу иметь возможность описать тип, который не допускает значений nil.
Это возможно? Как?
1 ответ
Вы можете увидеть пример этого прямо на целевой странице RBS:
attr_reader reply_to: Message? # `?` means optional type: `#reply_to` can be `nil`
А точнее, в документации по <em>синтаксису</em> :
Дополнительный тип
Необязательный тип обозначает тип значения или ноль .
Integer? Array[Integer?]
Итак, для вашего случая это было бы
attr_reader name: String?