Size: a a a

Язык программирования Julia / Julia programming language

2020 December 23

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Есть ли аналог findall для регексов в Джулии?
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
eachmatch почему-то не работает
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
Я на версии 1.5.3
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
А в каком смысле "не работает"?

julia> eachmatch(r"a.a", "a1a2a3a") |> collect
2-element Array{RegexMatch,1}:
RegexMatch("a1a")
RegexMatch("a3a")
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну или даже так

julia> eachmatch(r"a(.)a", "a1a2a3a") |> collect .|> x -> tryparse(Int, x[1])
2-element Array{Int64,1}:
1
3
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
У меня ошибка была в другом, спасибо за объяснение
источник

ДН

Даниил Николаев... in Язык программирования Julia / Julia programming language
И где лучше всего узнать про продвинутый синтаксис julia по типу |>, .|> И что и где лучше использовать
источник

DD

Dmitriev Denis in Язык программирования Julia / Julia programming language
Даниил Николаев
И где лучше всего узнать про продвинутый синтаксис julia по типу |>, .|> И что и где лучше использовать
f(x) |> g это тоже самое, что g(f(x))

f(x) .|> g это тоже самое, что g.(f(x))
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
В закрепе к этому каналу есть список книг/статей/туториалов, которые стоит почитать и в которых много всяких деталей рассказывается.
источник

GM

Gray Marginal in Язык программирования Julia / Julia programming language
А кто-нибудь читал официальную доку Джулии? Там вроде всё достаточно просто и понятно. Много интересного узнать можно
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну а так, использование обычно из коммьюнити чатов/discourse/этого канала узнаётся.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Слайд 29. Ссылки по ходу ведут на оригинальную документацию.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Там же рядом видео для начинающих.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Вообще, джулианцы (или как уж их назвать), не очень любят пайп оператор. Я его использую просто потому, что у меня в бекграунде R с его dplyr. Но вообще без пайпов код обычно чище выглядит, а иногда и короче.
источник

GM

Gray Marginal in Язык программирования Julia / Julia programming language
Андрей Оськин
Вообще, джулианцы (или как уж их назвать), не очень любят пайп оператор. Я его использую просто потому, что у меня в бекграунде R с его dplyr. Но вообще без пайпов код обычно чище выглядит, а иногда и короче.
А какие альтернативы предпочтительнее?
g(f(x))

res = f(x)
g(res)

(g • f)(x)
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Из того, что я видел g(f(x)) в большинстве случаев более читабельно.

Если последовательность слишком длинная, то можно промежуточные переменные вводить. Если не хочется захламлять namespace, то можно в let оборачивать (ну или внутри функций это всё равно не важно).
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
julia> map(x -> tryparse(Int, x[1]), eachmatch(r"a(.)a", "a1a2a3a"))
2-element Array{Int64,1}:
1
3
источник

GM

Gray Marginal in Язык программирования Julia / Julia programming language
Андрей Оськин
julia> map(x -> tryparse(Int, x[1]), eachmatch(r"a(.)a", "a1a2a3a"))
2-element Array{Int64,1}:
1
3
Имхо, пайп с бродкастом выглядит читабельнее)
источник

GM

Gray Marginal in Язык программирования Julia / Julia programming language
Дело вкуса, я думаю
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Выглядит ничуть не хуже. Ну или вообще можно воспользоваться тем, что map позволяет ruby style использовать

julia> map(eachmatch(r"a(.)a", "a1a2a3a")) do x
          tryparse(Int, x[1])
      end
2-element Array{Int64,1}:
1
3
источник