-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Заменить код примера #12
Comments
@stdray мне не нравится ваш код, по нескольким причинам
но самая идея здравая 👍 К слову, мне кажется подобные вопросы лучше обсуждать в гиттере - 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 из тедеграмм-чатика сюда отправили как раз для того чтоб в чате это не потерялось. |
В ООП этот вопрос в высшей степени дискуссионный, про него даже есть статья на википедии. Я так понимаю, мотивацией для примера отчасти и было представление этой проблемы с точки зрения F#. |
В качестве альтернативы предлагаю модифицировать данный сниппет. Он покрывает большую часть синтаксиса и решает задачу, похожую на реальную. Заодно хипстеров привлечем. ;) |
Предлагаю заменить бесполезный хеллоуворлд на следующий код
В отличие от кальки хеллоуворлда C# в этом фрагменте демонстрируется пара основных возможностей F#:
Возможность интеропа со стандартной библиотекой .net продемонстрирована через
System.Math.PI
.The text was updated successfully, but these errors were encountered: