to możliwe, aby potokować pierwszy parametr w funkcję wielu parametrów? npPierwszy parametr parametru F # pipe
date = "20160301"
Jest to możliwe zamontowanie date
do
DateTime.ParseExact( , "yyyyMMDD", CultureInfo.InvariantCulture)
to możliwe, aby potokować pierwszy parametr w funkcję wielu parametrów? npPierwszy parametr parametru F # pipe
date = "20160301"
Jest to możliwe zamontowanie date
do
DateTime.ParseExact( , "yyyyMMDD", CultureInfo.InvariantCulture)
Jako @yuyoyuppe wyjaśnia w his/her answer, nie można podłączyć bezpośrednio do ParseExact
, ponieważ jest to metoda, a tym samym nie curry.
To często dobrym rozwiązaniem, aby zdefiniować nassza funkcję sieciowego, ale można również rury do anonimowej funkcji, jeśli tylko jest to potrzebne lokalnie:
let res =
date |> (fun d -> DateTime.ParseExact(d, "yyyyMMdd", CultureInfo.InvariantCulture))
który daje DateTime
wartość:
> res;;
val it : DateTime = 01.03.2016 00:00:00
Z this:
metody zwykle użyć formę mijających krotkę argumentów. Osiąga to wyraźniejszy wynik z perspektywy innych języków .NET, ponieważ krotka forma pasuje do sposobu przekazywania argumentów w metodach .NET.
Ponieważ nie można curry funkcję, która akceptuje krotki bezpośrednio, będziesz musiał zawinąć ParseExact
to zrobić:
let parseExact date = DateTime.ParseExact(date, "yyyyMMDD", CultureInfo.InvariantCulture)
Może niepowiązanych, ale argumenty wyjściowe może być związany tak:
let success, value = Double.TryParse("2.5")
Należy zauważyć, że TryParse
akceptuje krotkę z drugim argumentem jako byref
.