Вопрос прост и. хотя явный ответ, мне пришлось столкнуться с странной ситуацией, когда фшарп сказал мне что-то странное. Вот история:
Вопрос: автоматически ли F # каждый тип наследует класс Object
? Я полагаю, ДА, и я уверен в этом, потому что было бы так много осложнений, если бы это было не так.
Но вот факт. Я писал этот фрагмент кода:
type MyType =
val myval: int
override self.ToString = "Hello MyType"
Ну, компилятор fsharp сказал мне, что неправильно использовать overrid, потому что он не находит какой-либо метод под названием ToString
для переопределения. Я так скомпилировал этот код:
type MyType =
val myval: int
member self.ToString = "Hello MyType"
И все сработало нормально.
mmmmmm Что происходит???
Разве FSharp не должен наследовать каждый объект из Object
?