attr_accessor строго типизированный Ruby on Rails

Просто интересно, может ли кто-нибудь пролить свет на основы работы с геттер-сеттерами в Ruby on Rails с точки зрения строго типизированных. Я новичок в Ruby on Rails и в основном хорошо разбираюсь в .NET.

Например, давайте рассмотрим, что у нас есть класс .net под названием Person

class Person
{
 public string Firstname{get;set;}
 public string Lastname{get;set;}
 public Address HomeAddress{get;set;}
}

class Address
{
 public string AddressLine1{get;set;}
 public string City{get;set;}
 public string Country{get;set;}
}

В Ruby я бы написал это как

class Person
 attr_accessor :FirstName
 attr_accessor :LastName
 attr_accessor :HomeAddress
end

class Address
 attr_accessor :AddressLine1
 attr_accessor :City
 attr_accessor :Country
end

. Глядя на Ruby-версию класса Person, как мне указать типы для методов доступа FirstName , Фамилия и Домашний адрес? Если бы я использовал этот класс, я мог бы передать любой тип в HomeAddress, но я хочу, чтобы этот метод доступа принимал только TYPE Address.

Есть предложения?

17
задан Peter DeWeese 24 April 2019 в 18:54
поделиться