Преобразование кода C # в F # - PullRequest
0 голосов
/ 05 июня 2010

Я только начинающий в программировании, я хотел бы преобразовать код из C # в F #,

Я заключил этот код в код:

float[] v1=new float[10];

...

//Enqueue the Execute command. 
Queue.Execute(kernelVecSum, null, **new long[] { v1.Length }**, null, null);

Ранее я спрашивал, как преобразовать объект v1, Я думаю, я знаю как, Но как мне использовать вызов функции, особенно часть new long[] { v1.Length } аргумента функции, что означает new long[] { v1.Length } ??

Я создал v1 вот так let v1 = [| for i in 1.0 .. 10.0 -> 2.0 * i |]

Это правильно? или я должен использовать v1 как это let v1 = ref [| for i in 1.0 .. 10.0 -> 2.0 * i |]?

Ответы [ 2 ]

2 голосов
/ 05 июня 2010

Это действительно больше вопрос C # ... вы можете пометить его так.

In C #

new long[] { v1.Length }

создает новый массив long s, который содержит один элемент, значение которого v1.Length. В F # это будет, например,

[| int64 v1.Length |]

(В любом случае, нет, вам не нужен ref в коде F #. И вы все еще не исправили тип данных в соответствии с предложением здесь .)

0 голосов
/ 05 июня 2010
Queue.Execute(kernelVecSum, null, [| int64 (v1.Length) |], null, null)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...