Open stdray opened 7 years ago
@stdray мне не нравится ваш код, по нескольким причинам
но самая идея здравая :+1:
К слову, мне кажется подобные вопросы лучше обсуждать в гиттере - https://gitter.im/fsharplang_ru/Lobby
@FoggyFinder поздно. Я уже осознал свою ошибку и удалил коммент. Вернулся к площадям.
еще раз изменил код, чтобы никого не будоражить
type Shape =
| Rectangle of height : float * width : float
| Elipse of radius1 : float * radius2 : float
let area shape =
match shape with
| Rectangle(h, w) -> h * w
| Elipse(r1, r2) -> System.Math.PI * r1 * r2
let elipse = Elipse(2., 1.)
printfn "%A" (area elipse)
@FoggyFinder мы ув. @stdray из тедеграмм-чатика сюда отправили как раз для того чтоб в чате это не потерялось.
@FoggyFinder
Круг это всего лишь частный случай для эллипса
В ООП этот вопрос в высшей степени дискуссионный, про него даже есть статья на википедии. Я так понимаю, мотивацией для примера отчасти и было представление этой проблемы с точки зрения F#.
Предлагаю заменить бесполезный хеллоуворлд на следующий код
В отличие от кальки хеллоуворлда C# в этом фрагменте демонстрируется пара основных возможностей F#:
Возможность интеропа со стандартной библиотекой .net продемонстрирована через
System.Math.PI
.