Size: a a a

2020 October 22

VK

Vic Khov in F# Chat
Можно ли как-то матчить дженериковый массив по типу?

пусть есть:
let fu arr =
   // как матчить все аргументы типа 'T array
   if arr.GetType() = typeof<array<_>>
   then (arr.GetType(), true)
   else (arr.GetType(), false)

[<EntryPoint>]
let main argv =
   printfn "Results"
   
   let arr1 : string array = [|"1"; "2"; "3"|]
   let arr2 : int array = [|1; 2; 3|]
   
   printfn "%A" (fu arr1)
   printfn "%A" (fu arr2)
   0
//    Results
//    (System.String[], false)
//    (System.Int32[], false)

как сделать, чтобы в обоих случаях вернулось true?
источник

Н

Николай in F# Chat
Vic Khov
Можно ли как-то матчить дженериковый массив по типу?

пусть есть:
let fu arr =
   // как матчить все аргументы типа 'T array
   if arr.GetType() = typeof<array<_>>
   then (arr.GetType(), true)
   else (arr.GetType(), false)

[<EntryPoint>]
let main argv =
   printfn "Results"
   
   let arr1 : string array = [|"1"; "2"; "3"|]
   let arr2 : int array = [|1; 2; 3|]
   
   printfn "%A" (fu arr1)
   printfn "%A" (fu arr2)
   0
//    Results
//    (System.String[], false)
//    (System.Int32[], false)

как сделать, чтобы в обоих случаях вернулось true?
let fu arr =
   let arrType = arr.GetType()
   (arrType, arrType.IsArray)
источник

VK

Vic Khov in F# Chat
Николай
let fu arr =
   let arrType = arr.GetType()
   (arrType, arrType.IsArray)
спасибо

это проще, чем я думал)
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Какая досада :(
источник

VS

Vladimir Shchur in F# Chat
источник

MS

Michael Snytko in F# Chat
как сматчить инт ?
источник

hs

habib sadullaev in F# Chat
match 5, 6 with
| 0, _ | _, 0 -> None
| x, y -> Some (x, y)
источник

hs

habib sadullaev in F# Chat
нормально же матчится
источник

MS

Michael Snytko in F# Chat
подправил, уже в другом месте ошибка
источник

MS

Michael Snytko in F# Chat
ура!
источник

I

IdiocyAcceptance in F# Chat
источник

I

IdiocyAcceptance in F# Chat
(то есть из F#)
источник

ГД

Григорий Дивотченко... in F# Chat
можно ссылку на оригинал?
источник

I

IdiocyAcceptance in F# Chat
Григорий Дивотченко
можно ссылку на оригинал?
источник

ГД

Григорий Дивотченко... in F# Chat
спасибо
источник

IC

Ilya L Che in F# Chat
Других функциональных языков кроме фшарпа не существует.
источник

VZ

Vlad Zaa in F# Chat
Ilya L Che
Других функциональных языков кроме фшарпа не существует.
F# же не Functional, он functional first 🤔
источник

IC

Ilya L Che in F# Chat
Ай, всё равно никто не может назвать критерии функционального языка, так что не пофиг ли.
источник

VS

Vladimir Shchur in F# Chat
если функционирует - значит функциональный
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Vlad Zaa
F# же не Functional, он functional first 🤔
Первый функциональный язык, верно.
источник