
V
14.03.2017
21:29:43
Господа, подскажите как в cobra выводить все подкоманды в хелпе?

Phil
14.03.2017
21:33:33
Ты точно в тот чатик?

Roman
14.03.2017
21:35:32

Denis
14.03.2017
21:36:17

Google

Phil
14.03.2017
21:47:07

Denis
14.03.2017
21:48:51
Тулза для управления флагами

Phil
14.03.2017
21:51:15
А, о господи. Понял

zk
15.03.2017
02:52:33

Subbotin
15.03.2017
04:33:21
Ага. Тестами покрыл. Сравнил со старым и даже поправил пару багов.

zk
15.03.2017
04:33:58
давай код
...вместе с тестами

DreamingKitten
15.03.2017
05:57:08
type FileMap struct {
f *os.File
}
func AttachToCompletedFile(fname string) (FM FileMap) {
FM.f, err := os.OpenFile(fname,os.O_RDONLY,0)
}
non-name FM.f on left side of :=
чего ему надо???

Quet
15.03.2017
06:15:13
ему надо = вместо :=

DreamingKitten
15.03.2017
06:25:38
Интересно почему

Quet
15.03.2017
06:28:08
ну почитай про разницу между = и :=
и наверное вопрос сам собой снимется )

DreamingKitten
15.03.2017
06:29:14
Ну := я думал для того чтобы не писать отдельно var и для type inference

Google

Quet
15.03.2017
06:29:35
:= создает новую переменную

DreamingKitten
15.03.2017
06:29:47
Ага... Понятно

i
15.03.2017
06:39:15
:= создает новую переменную
не всегда, если функция возвращает больше 1-го значения и одна из принимающих переменных уже существует, то у неё установится возращаемое значение без создания новой переменной

Олег
15.03.2017
07:08:45

i
15.03.2017
07:12:12

Sergey
15.03.2017
07:15:10
Чувак иди доки почитай))

Олег
15.03.2017
07:23:38

i
15.03.2017
07:24:34

ainu
15.03.2017
07:26:14
Кстати, а почему?
ПОтому что поле как переменная существует уже, просто имеет пустое (нулевое) значение

i
15.03.2017
07:27:53

DreamingKitten
15.03.2017
07:35:58

Subbotin
15.03.2017
08:39:24
про передачу массива для записи туда возвращаемого значения как параметра функции
допустим у меня функция может записать в буфер и 10 байт и сто байт (но я точно знаю, что не больше 100)
и я хочу переиспользовать буфер
я могу создать буфер make([]byte, 0,100) и потом передавать его внутрь функции
и записывать туда данные
но как мне потом снаружи определить сколько я записал?

Google

Subbotin
15.03.2017
08:44:14
есть возможность поменять len?
или возвращать инт с количеством записанных байт?

Антон
15.03.2017
08:45:08
в stdlib обычно возвращают кол-во записанных байтов. А вообще, здесь ты создал слайс с capacity=100, а не len

Subbotin
15.03.2017
08:47:03
ну как-бе в этом то и задумка. сделать массив нужной емкости чтоб избежать реалокаций потом.

Антон
15.03.2017
08:48:37
да. Внутри функции делаются append-ы, при этом len меняется и стремится к capacity. Если я ниче не напутал, то len(slice) тебе вернёт кол-во реально записанных байтов. Но при условии, если слайс был с 0 длинной (slice = slice[:])

Subbotin
15.03.2017
08:48:53
https://play.golang.org/p/axr0A5vxyx

Антон
15.03.2017
08:51:50
а ну понял да
типа append-ы не поменяют len у внешнего слайса
ну да, отдавать кол-во записанных байт
https://golang.org/pkg/bufio/#Reader.Read
так обычно и делают

Quet
15.03.2017
08:56:06

Subbotin
15.03.2017
08:56:53
не. я не всегда спрашиваю про свои текущие проблемы. иногда вопросы чисто абстрактные
работать вообще не хочется
прям голова вообще не варит
а надо разбираться почему у меня регулярки на го не признают юникод

Олег
15.03.2017
08:58:34

Subbotin
15.03.2017
08:58:47
ебать вы тут все капитаны очевидности

Dan
15.03.2017
09:10:01

Google

Subbotin
15.03.2017
09:11:28
а он сцуко молчит

Илья
15.03.2017
09:40:13
король лич проснулся?
андед пришел

undead
15.03.2017
09:41:14
?
Всем привет!

ainu
15.03.2017
09:56:02
regexp.MustCompile("[\\p{L}\\d_]+")
https://play.golang.org/p/fWfI58QEEq

Admin
ERROR: S client not available

Subbotin
15.03.2017
09:56:35
var name_validator_regexp = regexp.MustCompile(^\p{L}[\p{L}\d_ -]+$)
херушки

ainu
15.03.2017
09:57:06
\pN Unicode character class (one-letter name)
\p{Greek} Unicode character class
\PN negated Unicode character class (one-letter name)
\P{Greek} negated Unicode character class

Subbotin
15.03.2017
09:57:09
ыыы не проходит

ainu
15.03.2017
09:57:36
Щас
инструмент есть

Subbotin
15.03.2017
09:57:47
причём вот такой
cat test.go
package main
import (
"regexp"
"fmt"
)
var name_validator_regexp = regexp.MustCompile(^\p{L}[\p{L}\d_ -]+$)
func main() {
fmt.Println( name_validator_regexp.MatchString("ololo"))
fmt.Println( name_validator_regexp.MatchString("трололо"))
}
нормально работает

ainu
15.03.2017
10:03:49
Не понял. А если работает то в чем проблема

Subbotin
15.03.2017
10:04:19
проблема в том что приложение на работает
а тестовые примеры работают

Google

ainu
15.03.2017
10:04:51
illegal character U+005C '\'
вот это?
А вру
Не понима.
Тестовый работает, вижу
регулярка верная
А приложение что говорит?

Subbotin
15.03.2017
10:06:17
беру с рабочего мака где все работает заливаю код на сервер, собираю и регулярка не матчит русские символы. или например пытаюсь сделать селект
if db.Where("path = ? and secrets_group_id = ?", secret_name, group.ID).First(&secret).RecordNotFound() {
на сервере не работает
в плане ничего не находит. копирую файл sqlite базы локально и все находит
тот же самый код
переменные среды запущенного процесса на сервере
cat /proc/23027/environ
LANG=en_US.UTF-8PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
такие же при сборке
пока я вижу что версия 1.6.3 на сервере а на ноуте 1.7.3
счас попробую конечно обновить
но блин не должно же так ломаться от версии к версии

Roman
15.03.2017
10:16:02

Subbotin
15.03.2017
10:17:35
хер там
я правда поставил 1.7 а не 1.7.3

ainu
15.03.2017
10:21:37
похоже, дело не в go а в sqlite