Size: a a a

2020 May 31

AH

Ayrat Hudaygulov in F# Chat
сойдёт
источник

AH

Ayrat Hudaygulov in F# Chat
написать свой tryRead на основе этих двух функций - 5 сек
источник

AH

Ayrat Hudaygulov in F# Chat
tryRead :: IVar<_> -> voption<_>
источник

VK

Vladislav Khapin in F# Chat
Ayrat Hudaygulov
val isFull: IVar<'x> -> bool

val get: IVar<'x> -> 'x
А оно не убьет шедулер?
источник

AH

Ayrat Hudaygulov in F# Chat
Vladislav Khapin
А оно не убьет шедулер?
не, оно там чекает поле в объекте IVar
источник

AH

Ayrat Hudaygulov in F# Chat
[<MethodImpl(MethodImplOptions.NoInlining)>]
   let isFull (xI: IVar<'x>) = xI.Full
источник

AH

Ayrat Hudaygulov in F# Chat
это поле интернал, ты его не увидишь
источник

AH

Ayrat Hudaygulov in F# Chat
то есть эта операция реально околобесплатная
источник

VK

Vladislav Khapin in F# Chat
Ладно, я так и написал, думал мб есть другие способы
источник

VK

Vladislav Khapin in F# Chat
Спасибо
источник

AH

Ayrat Hudaygulov in F# Chat
источник

AH

Ayrat Hudaygulov in F# Chat
public bool Full {
     [MethodImpl(AggressiveInlining.Flag)]
     get { return HasValue <= State; }
   }
источник

Dv

Dr. Friedrich von Ne... in F# Chat
https://github.com/Tarmil/FSharp.SystemTextJson а вот полезное дело.
источник

RG

Romson Gardey in F# Chat
Ребята, подскажите плиз, вот я вызываю вроде бы функцию с аргументами - пробелами.
источник

RG

Romson Gardey in F# Chat
Мне для того чтобы пользоваться таким клевым синтаксисом надо писать ручками там значения, а не передавать переменные?
источник

RG

Romson Gardey in F# Chat
когда обрамляю скобками и добавляю запетые - все ок
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Romson Gardey
Ребята, подскажите плиз, вот я вызываю вроде бы функцию с аргументами - пробелами.
Бывает несколько видов функций, и ты просто в них немножко запутался.
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Есть функции, которые принимают кортеж с аргументами (большинство C#-методов проецируются именно в такие функции в F#). Их нужно вызывать как func(a, b, c).

А есть F#-функции, которые поддерживают каррирование (т.е. передачу аргументов по одному), вот для них нужно использовать синтаксис func a b c.
источник

AH

Ayrat Hudaygulov in F# Chat
Я только к названию придерусь. Считаю надо местами поменять, потому что это просто расширение для фшарпа
источник

Dv

Dr. Friedrich von Ne... in F# Chat
На F# разница вот такая:
let foo(a, b) = a + b // foo(1, 2) = 3
let bar a b = a + b // bar 1 2 = 3
источник