Size: a a a

2020 June 21

VK

Viacheslav Koryagin in F# Chat
Prunkles Dreemurr
А можно ли как-то сделать матчинг, а-ля
let x = 3
function { SomeField = x } -> ...

?

Проблема в том, что сейчас он не сравнивает значение SomeField с x, а присваивает новой переменной x значение из SomeField .

Например так
function { SomeField = x' } when x' = x -> ...

работает, но нельзя ли как-то проще?
Только если x будет константой
источник

PD

Prunkles Dreemurr in F# Chat
Viacheslav Koryagin
Только если x будет константой
Эх, жаль. То есть только через when ?
источник

VK

Viacheslav Koryagin in F# Chat
Prunkles Dreemurr
Эх, жаль. То есть только через when ?
Да
источник

VK

Vladislav Khapin in F# Chat
Забанить?
источник

U

Undefined in F# Chat
Нее
источник

U

Undefined in F# Chat
Я человек
источник

U

Undefined in F# Chat
Просто ник странный
источник

U

Undefined in F# Chat
Потихоньку вкатываюсь в f# после c#
источник

R

Roman in F# Chat
Undefined
Просто ник странный
По лезвию ежа прям. Тоже рука дернулась)
источник

VS

Vasily Shapenko in F# Chat
Везунчик,да
источник
2020 June 22

АВ

Андрей Вилинский... in F# Chat
Undefined
Я человек
докажи! что такое монада? :D
источник

O

Orbarax in F# Chat
бот бы уже ответил
источник

O

Orbarax in F# Chat
Prunkles Dreemurr
А можно ли как-то сделать матчинг, а-ля
let x = 3
function { SomeField = x } -> ...

?

Проблема в том, что сейчас он не сравнивает значение SomeField с x, а присваивает новой переменной x значение из SomeField .

Например так
function { SomeField = x' } when x' = x -> ...

работает, но нельзя ли как-то проще?
паттерн матчинг не про равенство, а про структуру. если бы ты использовал нумералы чёрча, то можно было бы сделать, скажем,
function { SomeField = Succ (Succ (Succ Zero)) } -> ...
источник

SN

Shub Niggurath in F# Chat
Prunkles Dreemurr
А можно ли как-то сделать матчинг, а-ля
let x = 3
function { SomeField = x } -> ...

?

Проблема в том, что сейчас он не сравнивает значение SomeField с x, а присваивает новой переменной x значение из SomeField .

Например так
function { SomeField = x' } when x' = x -> ...

работает, но нельзя ли как-то проще?
Тебе в хаскель. Там можно. В эфшарпе будет варнинг про неполный матч
источник

O

Orbarax in F# Chat
Shub Niggurath
Тебе в хаскель. Там можно. В эфшарпе будет варнинг про неполный матч
ты про view-patterns? или как это в хаскеле можно?
источник

O

Orbarax in F# Chat
типа f ((== x) . someField -> True) = ...
источник

SN

Shub Niggurath in F# Chat
Orbarax
ты про view-patterns? или как это в хаскеле можно?
Multiple clauses или как-то так оно называется.
источник

U

Undefined in F# Chat
Андрей Вилинский
докажи! что такое монада? :D
Когда у тебя есть только функции - все вокруг кажется монадой
источник

IO

Iaroslav Orlov in F# Chat
зачем нужны имена, если есть UUID...
источник

ДБ

Дмитрий Башинский... in F# Chat
А че, много ботов?
Такая реальная проблема?
Что они в чате делают?
источник