🐁 Arutrancetro
в шарпе, например можно реализовать метод, который будет доступен только при приведении к интерфейсу
Αλεχ
ну или если нравится where impl<T> Clone for MyType<T> where T : Clone
🐁 Arutrancetro
public void IMyInterface.Method() {}
🐁 Arutrancetro
вот так =)
Αλεχ
я в курсе
Αλεχ
слушай
Αλεχ
это джуновые вопросы
Cat
Αλεχ
ок
Cat
или нет
Cat
хз короче, я тоже запутался
🐁 Arutrancetro
я про сравнение с растом
🐁 Arutrancetro
))))
🐁 Arutrancetro
так можно подобное?
Αλεχ
типа Array : IList
🐁 Arutrancetro
а дак в расте вообще ооп же нету вроде
Cat
точнее, в расте нет наследования
Αλεχ
в любом случае
Αλεχ
в расте с этим пока все лучше
Αλεχ
public void IMyInterface.Method() {}
trait Foo {
fn foo() -> i32;
}
struct Bar;
impl Bar {
fn foo() -> i32 {
20
}
}
impl Foo for Bar {
fn foo() -> i32 {
10
}
}
fn main() {
assert_eq!(10, <Bar as Foo>::foo());
assert_eq!(20, Bar::foo());
}
Αλεχ
кстати видишь в чем тут фишка
🐁 Arutrancetro
хз, очень не привычно
Αλεχ
Αλεχ
я хз
Αλεχ
может ты кроме шарпа ни на чем не писал)
🐁 Arutrancetro
писал)
Αλεχ
я просто успел попробовать еще в универе паскаль/дельфи/руби/прлог/лисп/еще чета
Αλεχ
и ваще пофиг на чем писать
Αλεχ
ну так вот
Αλεχ
пробовал и хаскель, но дальше первых пары глав не пошел
Αλεχ
Cat
(я тоже, если честно)
Αλεχ
трейты в расте можно еще и на статические методы вешать
Αλεχ
например можно сделать трейт
🐁 Arutrancetro
Java, Ruby, JavaScript, PHP, немного Python, немного Kotlin, чуть-чуть Scala, начинал вообще с Delphi =)
Αλεχ
trait IHaveName { const NAME: String }
🐁 Arutrancetro
а вообще по чуть-чуть на всем писал
Αλεχ
я столько раз
Αλεχ
жалел
🐁 Arutrancetro
что прыгал по языкам?
Αλεχ
что в шарпе нельзя сделать interface IParseable<T>{ public static T Parse(string input) }
Cat
Αλεχ
🐁 Arutrancetro
:D
Αλεχ
что значит "прыгал"?
🐁 Arutrancetro
ну т.е. туда сюда =)
🐁 Arutrancetro
на том писал, на это писал
Αλεχ
я никуда не прыгал
Cat
Αλεχ
потому что в шарпе интерфейс ограничивает только инстанс
Αλεχ
а не сам тип
Cat
мм, понятн
🐁 Arutrancetro
в шарпе вообще паблик статик юзать запрещено)
🐁 Arutrancetro
это не ООП уже
Αλεχ
Cat
Αλεχ
а как ты пишешь асинхронные конструкторы?
🐁 Arutrancetro
потому что тестировать трудно становится
Αλεχ
эмм
Αλεχ
еще раз
Αλεχ
как ты сделаешь
Αλεχ
асинхронный конструктор?
🐁 Arutrancetro
ну это исключение наверное
🐁 Arutrancetro
я про то
🐁 Arutrancetro
что нельзя связывать программу с помощью глобальных методов
Cat
🐁 Arutrancetro
типа классов с утилитами
Cat
глобальные методы это же типчные свободные функции
🐁 Arutrancetro
и юзать утилиты в каждом классе
Αλεχ
Αλεχ
публичные статические методы
Αλεχ
айайай
Αλεχ
тут подробно
Αλεχ
количество либ под раст нео тносится к расту? хмм
Αλεχ
а, я понял
Αλεχ
ваще все снесли
պլհկ
завязывайте с шарпами и прочими бэйсиками, пожалуйста
Αλεχ
короче иди в https://gitter.im/ruRust/offtopic, там ничего не удаляют