Size: a a a

2020 May 16

JC

Julian =) Coffee in pro.vim
ну там еще всякие awk, sed были же
источник

VG

Vadim Goncharov in pro.vim
ага, shell еще
источник

JC

Julian =) Coffee in pro.vim
да
источник

VG

Vadim Goncharov in pro.vim
и Си... вот perl из них всех и сделал единый стройный язык
источник

JC

Julian =) Coffee in pro.vim
Ну мне просто было за поведение именно вот этого split, мб там есть где-то стандарт, что надо его делать именно таким
источник

VG

Vadim Goncharov in pro.vim
перл и стал этим самым стандартом
источник

JC

Julian =) Coffee in pro.vim
грустно это звучит
источник

VG

Vadim Goncharov in pro.vim
с чего бы? норм
источник

JC

Julian =) Coffee in pro.vim
ну, то, что есть стандарт это прикольно
источник

JC

Julian =) Coffee in pro.vim
Но лично мне почему-то такое поведение split кажется ну нееемного странным
источник

VG

Vadim Goncharov in pro.vim
а что именно?
источник

JC

Julian =) Coffee in pro.vim
Ну про захват групп в split
источник

JC

Julian =) Coffee in pro.vim
Есть у тебя my $p1 = /(4)|(5)/ которое заматчит как 4, так и 5.
Есть у тебя my $p2 =  /4|5/ которое заматчит как 4, так и 5.

split $p1 "12345" даст 123 4 undefined 5 undefined 6
split $p2 "12345"
даст 123 6
источник

JC

Julian =) Coffee in pro.vim
Хотя казалось бы действие этих двух регулярок аналогичное
источник

VG

Vadim Goncharov in pro.vim
вот же прям в мане пример
источник

JC

Julian =) Coffee in pro.vim
Просто не совсем понятна логика этого дела
источник

VG

Vadim Goncharov in pro.vim
ну вот в этом примере если бьешь по сепараторам и хочешь узнать, какие именно были
источник

VG

Vadim Goncharov in pro.vim
типа скажем, без этого пришлось сделать сначала сплит по запятым, а потом по тире, чтобы узнать
источник

JC

Julian =) Coffee in pro.vim
Ну просто в том же OCaml есть просто функция full_split, которая это и делает
А split просто "выбрасывает" разделители
источник

JC

Julian =) Coffee in pro.vim
И тебе не нужно переписывать регулярку, чтоб получить другую логику, ты просто берешь другую функцию
источник