@Fsharp_chat

Страница 688 из 772
Mikhail
31.08.2018
17:40:47
И так правильно

Alexey
31.08.2018
17:40:49


Mikhail
31.08.2018
17:40:53
Спасибо!

Daniel
31.08.2018
17:41:25
а книг или норм пособий не знаешь? [нашел]

Google
Alexey
31.08.2018
17:43:36
а что нашёл?

http://shop.oreilly.com/product/9781785880537.do

вот вроде толковая

Ayrat
31.08.2018
17:49:29
https://samples1-ayrathudaygulov.notebooks.azure.com/j/notebooks/Untitled.ipynb я не понял что вы с матрицей мучались

Alexey
31.08.2018
17:54:44
эммм... и что мы здесь должны увидеть?



Ayrat
31.08.2018
17:55:23
по ссылке это открывается? хм, я из под другого браузера открыл

ещё раз жмякни)

https://notebooks.azure.com/ayrat-hudaygulov/libraries/samples-1/html/Untitled.ipynb

да, не та ссылка

вот эта та

Alexey
31.08.2018
17:57:58
а это будет int[,] или int[][] ?

Ayrat
31.08.2018
17:58:04
первое

Google
Alexey
31.08.2018
17:59:14
но идея ясна (по крайней мере мне)

Ayrat
31.08.2018
17:59:40
но идея ясна (по крайней мере мне)
идея пользоваться реплом в жупитер ноутбуке?) Хорошая идея!

вообще там можно этот ноутбук заклонить и поиграться https://notebooks.azure.com/Microsoft/libraries/samples/html/FSharp%20for%20Azure%20Notebooks.ipynb

Alexey
31.08.2018
18:01:10
чтобы получить второе, надо сделать вот т ак:

let a = Array.init N (fun _ -> Array.init M (fun _ -> rnd.Next(1, 11)))

Ayrat
31.08.2018
18:01:26
так точно

Alexey
31.08.2018
18:01:34
и скобочки начинают догонять лисп

правда?)))

Ayrat
31.08.2018
18:01:45
можно без скобочек!

Alexey
31.08.2018
18:02:44
Unexpected keyword 'fun' in binding. Expected incomplete structured construct at or before this point or other token.

без одной пары только можно

Ayrat
31.08.2018
18:03:12
хехе

Hold my beer

Alexey
31.08.2018
18:03:53
а не

Ayrat
31.08.2018
18:04:02
https://notebooks.azure.com/ayrat-hudaygulov/libraries/samples-1/html/Untitled.ipynb

Alexey
31.08.2018
18:04:02
/me ещё маленький

FailsBot
31.08.2018
18:04:03
Alexey ещё маленький

Ayrat
31.08.2018
18:04:14
внизу

в ноутбуке

Alexey
31.08.2018
18:04:28
я понял

Google
Alexey
31.08.2018
18:04:40
крышечка... час от часу не легче ?

Ayrat
31.08.2018
18:04:42
можно не разносить по строчкам, оно просто так чутка читабельнее

да, она меняет ассоциативность в бинарных операторах на правую

как тебе такое Ил... Си шарп!

Alexey
31.08.2018
18:06:54
brainfuck круче

Ayrat
31.08.2018
18:07:13
бесспорно. Хотя там лучше с порно

Alexey
31.08.2018
18:08:15
поэтому он и круче :)

есть ещё piet - тоже знатная травка

попробуй, может понравится

хотя бы почитай

ща чувствую опять меня пнут за то, что раздул из провокации схоластику

Andrew
31.08.2018
18:12:08
как тебе такое Ил... Си шарп!
честно говоря, имхо тут выиграл сишарп, потому что в нем нет такого костыля в виде крышечки и даже потребности в нем

Grigoriy
31.08.2018
18:12:08
https://www.youtube.com/watch?v=dBLwvrblg0I
Ничо так - бодрячком :)

Alexey
31.08.2018
18:14:14
(from i in Enumerable.Range(0, N) select (from j in Enumerable.Range(0, M) select rnd.Next()).ToArray() ).ToArray()

Ayrat
31.08.2018
18:15:51
честно говоря, имхо тут выиграл сишарп, потому что в нем нет такого костыля в виде крышечки и даже потребности в нем
Да как бы почему же??? В си шарпе применение аргументов к функции только через скобочки

Grigoriy
31.08.2018
18:16:50
(from i in Enumerable.Range(0, N) select (from j in Enumerable.Range(0, M) select rnd.Next()).ToArray() ).ToArray()
в ф# такое тоже можно... [| for i in 1..10 do yield [| for j in 1..15 do yield 1 |] |]

Alexey
31.08.2018
18:17:13
питон какой-то...

Grigoriy
31.08.2018
18:17:44
генератор последовательности

Andrew
31.08.2018
18:18:26
питон какой-то...
учитывая, что питон упёр эту идею из ФП...

Grigoriy
31.08.2018
18:19:01
в Fable/Elmish, к примеру, без yield чо-то я не сообразил, как вью генерить :(

Google
Grigoriy
31.08.2018
18:23:04
питон какой-то...
шашечки или ехать?

Ayrat
31.08.2018
18:24:42
в ф# такое тоже можно... [| for i in 1..10 do yield [| for j in 1..15 do yield 1 |] |]
do yield в компрехеншнах можно заменять на -> [| for i in 1..n -> [| for j in 1..m -> rnd.Next(1,11) |] |]

Alexey
31.08.2018
18:25:33
вот за это ФП и не любят... слишком высокая концентрация смысла в непроизносимых деталях

Ayrat
31.08.2018
18:26:02
вот за это ФП и не любят... слишком высокая концентрация смысла в непроизносимых деталях
любят его за это же. Но в целом никто не мешает тебе сделать это через старый добрый for

т.к. массивы-то мутабельные изначально

Alexey
31.08.2018
18:26:16
бедные индусы не могут столько кода генерировать, как на сисярпе

в перле в своё время тоже были значимые непроизносимые символы

Alexey
31.08.2018
18:27:55
@_

Ayrat
31.08.2018
18:28:06
в перле в своё время тоже были значимые непроизносимые символы
хехехе http://hopac.github.io/Hopac/Hopac.html#def:module%20Hopac.Infixes Creates an alternative that, using the given job constructor, constructs a query with a reply variable, commits on giving the query and reads the reply variable. See also: *<-=>-. Reference implementation: let ( *<-=>= ) qCh rI2qJ = Alt.prepareJob <| fun () -> let rI = IVar<_> () rI2qJ rI >>- fun q -> qCh *<- q ^=>. rI

Ayrat
31.08.2018
18:29:15
я люблю гопак /me пускается впляс

Alexey
31.08.2018
18:29:30
#!/usr/bin/perl $_=' $q ="\ 47"; wh ile ($ ;= $z += .5 ){ %c= $r=0;$/ ="";whi le(2 0+ $z>($;+=.05)){$c{int$ _+ 2 6+ 2*($ r+= 0 2) * s in$ ;}{1 -$_ +1 0+ int $r*c o s $ ;} =1for(0. .1) }$ t =r ever se;$ /. =` c le ar `. " #! / usr /bi n/ pe rl \n\ $_ =$q \n" ; fo r$y (1..20){$c{$_} { $ y }? $ /.=chop$t : ($/ . =" \4 0") for(0. 53) ; $/. ="\n"}pri nt"$/$ q; s; ". chr(9 2)."s;;g;eval\n "} ';s;\s;;g;eval

Ayrat
31.08.2018
18:29:45
ну всё понятно же!

Grigoriy
31.08.2018
18:31:15
ну всё понятно же!
perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

Ayrat
31.08.2018
18:31:32
там ещё и *<- с ^=>.
как раз в примере оба два используются qCh *<- q ^=>. rI положи в канал qCh значение q, подожди пока канал затянет и потом верни альтернативу чтения из rI

Alexey
31.08.2018
18:32:37
Наркоманы

Alexey
31.08.2018
18:36:48
$$

Google
Grigoriy
31.08.2018
18:37:04
$$
слишком дорого

Alexey
31.08.2018
18:37:22
$<

Grigoriy
31.08.2018
18:38:34
$<
секатор? :)

горшочек, не вари!

Friedrich
01.09.2018
02:33:50
В этом коде ошибка.

Mikhail
01.09.2018
06:26:03
В этом коде ошибка.
Ага, уже разобрался. Спасибо, что не оставляете не замеченным

Friedrich
01.09.2018
06:26:27
Ага, я уже увидел, что вы ниже по треду всё починили :)

Roman
01.09.2018
09:41:54
Dmitry Sokolov привет

Привет

Nikolay
01.09.2018
09:53:44
sendDocument возвращает SendDocumentReq sendPhoto возвращает SendPhotoReq Оба реализуют интерфейс IRequestBase<Message> Как ошибку можно пофиксить? Есть такие варианты: 1. Слишком длинно sendDocument message.chat.Id file "" :? : IRequestBase<Message> 2. Нормальный вариант, но проблема в том, что у других функций может быть разное количество параметров, поэтому не очень тоже let lift f a b c = upcast f a b c: IRequestBase<'a> sendDocument |> lift



Alexey
01.09.2018
09:56:19
либо сделать IRequestBase<out Messaage>

Страница 688 из 772