
xPushkin
05.11.2017
20:27:53

Daniel
05.11.2017
20:28:10
Тогда можно не защищать
Или вы там снаружи пишете в него?

xPushkin
05.11.2017
20:28:49

Google

Daniel
05.11.2017
20:29:21
Тогда защищайте, или передавайте полноценную копию

xPushkin
05.11.2017
20:30:06
Но а.Slice все равно содержит указатель, не так ли?
Поэтому даже копия а сможет редактировать a.Slice

Vladimir
05.11.2017
20:31:53
Я передаю через (a A)
так вы наломаете дров ... слайс передавайте по ссылке иначе вы получите жопу с len и cap

Daniel
05.11.2017
20:32:07
Не сам слайс, а его элементы
Идите доку читайте, короче :)

m
05.11.2017
20:50:56
Заметил странное. Если написать fmt.Fprintln(os.Stderr, a...) , то между элементами, из которых состоит переменная a вставятся пробелы. А если написать b:=fmt.Sprintln( a...) , то в b этих пробелов не будет. Почему так происходит? Это os.Stderr их вставляет внутри себя?

xPushkin
05.11.2017
20:55:33
Идите доку читайте, короче :)
У меня также в этой структуре есть map. И когда я передаю (а А), то если не поставить мутекс перед чтением мапы -race будет ругаться. Если слайс, так же как и мапа, ссылочный тип, то буду ставить мутекс.

m
05.11.2017
20:58:37
мэп и слайс - это по сути ссылка. только дополненная ещё несколькими полями. в случае слайса - дополненная длиной и максимальный размером.
так что передавать слайс по ссылке не имеет смысла.

xPushkin
05.11.2017
21:00:10

Vladimir
05.11.2017
21:00:49
уж не в Windows ли вы с Win-1251

Google

Vladimir
05.11.2017
21:12:34
ну тогда просто сделайте скан директориев и сравните что у вас даст UTF-8 поиск Golang и ваши папки с файлами ! Но все равно по какому либо маршруту (относительносму или абсолютному) файлы открываются? Если не открываются по абсолютному то накосячили с кодовой страницей ! И линукс просто не понимает UTF абракадабру, сравнение ответит на большинство вопросов!
а вообще я пришел пригласить желающих на https://www.riddles.io/ в игру Конвеевскую Жизнь

m
05.11.2017
23:02:45

Vladimir
05.11.2017
23:03:41
в halite у меня есть уже наработки C++ ... там портирование , это не очень интересно!
а тут все новое чудное и удивительное ... визуализатор сделал и смотрю ка живут ассимметричные карты на поле 18х16

m
05.11.2017
23:08:29
а в чём там цель? расставить квадратики в начале правильно?

Vladimir
05.11.2017
23:11:45
нет сама по себе конвеевская ЖИЗНЬ это мир подчиняющийся псевдо-генетическим алгоритмам ... он живет сам .... но вот единицы этой жизни принадлежат разным игрокам ... с помощи микровоздействий мы должны изменять мир чтоб наша популяция росла а популяция противника чахла!

m
05.11.2017
23:13:02
а что именно можно делать с клетками?

Vladimir
05.11.2017
23:13:06
можно уничтожить свою клетку и можно создать свою клетку но уничтожив 2 свои

m
05.11.2017
23:16:26
зная, как сильно меняется поведение на доске после каждой итерации, могу предположить, что задачка интересная и сложная.

Vladimir
05.11.2017
23:21:13
сейчас прикручу tcp и будет готов минисервер-визуализатор! Просто они гады поменяли API чуток ... и я даже парсинг делал "родной" в ультимейте ... а тут боюсь сделаю простенький .. а для выкладывания на riddles придется "вслепую" подбирать ... клиента на GO нет ( ну правда и на ультимейте его не было)
хотя и времени как грязи ... финальные бои лишь в марте , в halite в январе

m
05.11.2017
23:29:49
да, можно многое успеть...

Vladimir
05.11.2017
23:38:23
RAIC 2017 ... будет фигней , может мини-RAIC будет поинтеллектуальнее!
самое смешное что тут попахивает наукой .... задача Конвея исследована достаточно хорошо , НО тут есть граница , и углы в которых рождаются устойчивые элементы которые не описаны в Конвее так как там поле бесконечно! ?
только что наблюдал цветочек на 100 циклов
да и структура "глайдер" упираясь в стену превращаются в квадрат 2х2

Давид
06.11.2017
11:19:14
люди
я в тупике

Google

Давид
06.11.2017
11:20:09
https://play.golang.org/p/qYKVqSBfE9
работает как надо вроде
а не
все ??
извеняюсь

Yuriy
06.11.2017
13:04:39
/report
Всем доброго времени суток) Помогите разобраться
package main
import "fmt"
func adder() func(int) int {
sum := 0
return func(x int) int {
sum += x
return sum
}
}
func main() {
pos, neg := adder(), adder()
for i := 0; i < 10; i++ {
fmt.Println(
pos(i),
neg(-2*i),
)
}
}
func adder() func(int) int {
В этой строке, что значит func(int)
?

John
06.11.2017
13:32:55

?
06.11.2017
13:33:10

Yuriy
06.11.2017
13:33:37
То, что в функцию может передаваться только один аргумент типа int?

John
06.11.2017
13:34:27

Yuriy
06.11.2017
13:35:16
А если она будет принмать два аргумента типа int, то func(int,int)?

John
06.11.2017
13:36:06
func(int) int
те, что в скобках - вход

Vlad
06.11.2017
13:37:36
Ну и стоит, наверное, упомянуть, что можно указать аргументом функции, внезапно, функцию

Google

John
06.11.2017
13:38:04

Vlad
06.11.2017
13:38:28
Ну пакет http это вроде бы во всю юзает, столкнётся рано или поздно
А вообще, есть курсы по хаскелю, помогают не бояться таких вещей

Yuriy
06.11.2017
13:40:46
Для закрепления, я хочу чтобы у этой функции было два аргумента типа int, тогда предыдущий пример я перпишу так:
package main
import "fmt"
func adder() func(int, int) int {
sum := 0
return func(x,y int) int {
sum += x*y
return sum
}
}
func main() {
pos, neg := adder(), adder()
for i := 0; i < 10; i++ {
fmt.Println(
pos(i,i+1),
neg(-2*i,i-1),
)
}
}
Все правильно?

Ivan
06.11.2017
13:40:47
это тупо называется коллбэки, когда в функцию запихиваешь аргрументом функцию, норма для асинхронного программирования, особенно в UI

Admin
ERROR: S client not available

?
06.11.2017
13:41:14
да стоит на js посмотреть, там сплош и рядом эти коллбэки)

Vlad
06.11.2017
13:41:32
лучше, все же, на haskell
Имхо, судари, имхо

Ivan
06.11.2017
13:41:45
callback = ^(data, error){
if(error)...
else ....
}
request(url, callback)

Vlad
06.11.2017
13:41:59
ни в коем случае не истина мои слова в последней инстанции :)

Ivan
06.11.2017
13:42:02
в ios прогрестве тоже используются коллбэки

Vlad
06.11.2017
13:42:42
да, там это обычное дело, по-сути, ios-app работает как и node - eventloop + workers

Ivan
06.11.2017
13:43:10
ну и в андроиде тоже, правда последнее время, все на сигналах сидят

some_random_anonymous
06.11.2017
13:43:15

Vlad
06.11.2017
13:43:46
или промисы, да

John
06.11.2017
13:44:01
Для закрепления, я хочу чтобы у этой функции было два аргумента типа int, тогда предыдущий пример я перпишу так:
package main
import "fmt"
func adder() func(int, int) int {
sum := 0
return func(x,y int) int {
sum += x*y
return sum
}
}
func main() {
pos, neg := adder(), adder()
for i := 0; i < 10; i++ {
fmt.Println(
pos(i,i+1),
neg(-2*i,i-1),
)
}
}
Все правильно?
Все так

Yuriy
06.11.2017
13:44:01
Ребят, на секунду прерву ваш холивар? Хочу сказать, спасибо всем, кто помог разобраться)

John
06.11.2017
13:44:07

Google

John
06.11.2017
13:44:10
?

Vlad
06.11.2017
13:44:39
Я сбежал с ноды на Го, дай уж высказаться
шучу-шучу, больше никакого слова на "п"

John
06.11.2017
13:47:19
?

Ivan
06.11.2017
13:48:34
кодил на донышке в ноде на реакте, а что такое промисы? Просвяти)
помню сперва все от них пищали от восторга, потом хоронили как чуму

Vlad
06.11.2017
13:49:17

some_random_anonymous
06.11.2017
13:49:18

Vlad
06.11.2017
13:49:30
О, тебе уже ответили

Arch
06.11.2017
13:49:35
промис - от англ обещание, аналог future

some_random_anonymous
06.11.2017
13:50:57

Александр
06.11.2017
14:02:08

Ivan
06.11.2017
14:02:32
возможно, я не кодю на этом языке, просто где то слышал в интернете
мопед не мой*

Давид
06.11.2017
14:16:52

Yuriy
06.11.2017
14:17:35

Андрюха (Ren)
06.11.2017
14:17:59
в бан