Denis Gladkikh

outcoldman

My personal blog about software development

  • 12 Apr 2009
  • .NET, F#

Итак, F# - это новый язык в линейке .NET, язык функционального программирования. Сошников Д.В. на platforma2009 в конце доклада показывает очень интересный и красивый пример использования F#, строя графики функций (зависящих и от времени!) и запуская по поверхностям графиков катающиеся шарики.

Пример этот можно взять тут, единственное, что нужно немного подшливовать его под текущую версию F# CTP 1.9.6.2

1. #I @"C:\WINDOWS\Microsoft.NET\Managed DirectX\v9.02.2904" ;; нужно заменить на установленную вашу версию DirecX (SDK), у меня она лежала в #I @"C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0";; (у вас, думаю, будет лежать примерно там же, единственное - разница версий - последние цифры)

2. Добавить reference на сборки:

#r "FSharp.PowerPack.dll" ;;

#r "FSharp.Core.dll" ;;

3. Заменяйтие

open Idioms

open Compatibility 

open List

на

open Microsoft.FSharp.Collections.List

4. В строке 285 мне пришлось в функции let meshGet mesh (i,j) = let X,Y = mesh in X.(i,j), Y.(i,j) добавить параметризацию и стало выглядить так let meshGet mesh (i,j) = let (X : float[,],Y : float[,]) = mesh in X.[i,j], Y.[i,j]

5. На строке 307 опять убираем open Idioms и open List

6. На строке 334 меняем let (doDrawScene,drawScene) : event = IEvent.create() на let (doDrawScene,drawScene) : event<time> = IEvent.create() (об этом в принципе написано на форуме - откуда брали пример)

Вот и все, запускайте пример (он сделан для запуска в F# Interactive).

Ссылки по теме:

Have a question? Want to follow up? Send a comment? Or just ask for help or consultation? Send me an email at public[at]denis[dot]gladkikh[one more dot]email.