169 похожих чатов

А можно добиться того же самого, но чтоб не через

жопу?

[<AutoOpen>]
module Append2
=
type Append2
=
Append2
with
static member inline (?<-) ( lst : 'a array
, _Blank : Append2
, _ : 'a array )
=
fun fst -> Array.append fst lst : 'a array

static member inline (?<-) ( lst : 'a list
, _Blank : Append2
, _ : 'a list )
=
fun fst -> List.append fst lst : 'a list

let inline Append2 (fst :'a) lst :'a
=
(lst ? (Append2) <- Unchecked.defaultof<'a>) fst

Append2 [1..3] [27..30]
|> printfn "%A"
//=> [1; 2; 3; 27; 28; 29; 30]

Append2 [|1..3|] [|27..30|]
|> printfn "%A"
//=> [|1; 2; 3; 27; 28; 29; 30|]


https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJiA1AHwNoB4BBRGAewHkAHAU2QD4BdAWACgBbUtRYagAl8KUayNACZWAXlb8YATxr9BwsdP5r+UluvVLaKrdv4B3AJYwAFqsMQYAQxgmAxvzbU2AI2rx+J5MF98ABQA/PgAtACU/IFqwDbqILwA5La8tvDwtrJWhrl5+blQvAD6AELAtsgA1ryJAkJ64gYFLa3aRcWGiSlpGVn8ETmtErxDLWAovJAwvGF0An2yAHS2DSJT8XEztcmp6ZnZzW2jR+o29k4ubp7evL7+yEGhkdGx8Wrdqf42Y8d/7SVypUanVdCImv9IYUSl1drxvtteINTi0Rr98hNkBsZnNeAAZEw2FZrND8abw96feGEmCqVQ8RH3AKKEmiXiBckgFJRLa1FLovKaf6BXnBdlgsRRcK8ACqyEc5mojiq1DQSzQ1DAtm4ZDA+BSdCi01YrAlbNwAEYlksAMwMXi4UQAdmtNoADMwWNh5rxKPBfDAwFiAEQAUkIwdYAHooxJ5paANy8URJm1J53pgAc6YAnKmPSaWGaHdgrbbsPbcNhna63RXWN7+H6A0HeGGI9HY/HS+nU+mnVnc/mK0A==

5 ответов

72 просмотра

Нажми «отформатировать код» пож 🌚

dd- Автор вопроса
dd- Автор вопроса
Alex Berezhnykh
Нажми «отформатировать код» пож 🌚

[<AutoOpen>] module Append2 = type Append2 = Append2 with static member inline (?<-)(lst: 'a array, _Blank: Append2, _: 'a array) = fun fst -> Array.append fst lst: 'a array static member inline (?<-)(lst: 'a list, _Blank: Append2, _: 'a list) = fun fst -> List.append fst lst: 'a list let inline Append2 (fst: 'a) lst : 'a = (lst?(Append2) <- Unchecked.defaultof<'a>) fst Append2 [ 1..3 ] [ 27..30 ] |> printfn "%A" //=> [1; 2; 3; 27; 28; 29; 30] Append2 [| 1..3 |] [| 27..30 |] |> printfn "%A" //=> [|1; 2; 3; 27; 28; 29; 30|] https://sharplab.io/#v2:DYLgZgzgNALiBOBXAdlAJiA1AHwNoB4BBRGAewHkAHAU2QD4BdAWACgBbUtRYagAkMo1kaAEy8AvK17TeMAJ41+g2qIlKhoqTO0B3AJYwAFqy3azvCDACGMPQGNebamwBG1eLz3JgXvgAoAfnwAWgBKP2BLEF4AciteK3h4KzkoXgB9ACFgK2QAa2iBDRE09Oi4hKSU0IlTc3qwFF5IGF5gun4quQA6K2VhZsteSLhY+MTkuRMWerNLG3tHZzcPLx9kfyCwiKix4b1LUuzcgvUVEozy+J9LGskZ2YamlraOgBkDmF7+tEHWkau+0s020PFaa18Z2EYj8LSuNRGvEB91mOxgAT8RXONRCvAAqsg7IZqHY8tQ0N00NQwFZuGQwPg4nQai1pljobxcLwAIzdboAZl4DE5vBEAHY+fyAAxC3jYDqUeBeGBgZC8ABEAFJCOrWAB6PXiDq4bkAblF5v55vF1oAHNaAJyWqXMFisdmqXDYHmSuXCr2iiUCmXYYXy3iK5WqjXa3UsA1GznYM0W3hWwN2x3O0OsIA

dd- Автор вопроса
dd
[<AutoOpen>] module Append2 = type Append2 = A...

я не знаю как такое читать если честно (мазохизм какой-то)

dd- Автор вопроса
dd
[<AutoOpen>] module Append2 = type Append2 = A...

а оно ещё и вот так работает: [<AutoOpen>] module Append2 = type Append2 = Append2 with static member inline (?<-)(lst: 'a array, _Blank: Append2, _: 'a array) = fun fst -> Array.append fst lst: 'a array static member inline (?<-)(lst: 'a list, _Blank: Append2, _: 'a list) = fun fst -> List.append fst lst: 'a list let inline Append2 fst lst = (lst?(Append2) <- Unchecked.defaultof<'a>) fst Append2 [ 1..3 ] [ 27..30 ] |> printfn "%A" //=> [1; 2; 3; 27; 28; 29; 30] Append2 [| 1..3 |] [| 27..30 |] |> printfn "%A" //=> [|1; 2; 3; 27; 28; 29; 30|]

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта