Size: a a a

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

2020 October 20

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
сейчас большинство одноплатников на 32бите
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
ну без танцев с бубном можно 1.3.1 поставить еще
источник
2020 October 21

Д

Дмитрий in Язык программирования Julia / Julia programming language
Какие есть библиотеки для парсинга HTML?
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Cascadia + Gumbo
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну и опционально можно ещё Underscores.jl добавить, потому что пайпы удобно писать когда обрабатываешь htlml.
источник

Д

Дмитрий in Язык программирования Julia / Julia programming language
Спасибо 🙂
источник

АО

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

using Gumbo
using Cascadia
using Cascadia: matchFirst
using UrlDownload
using Underscores

pageparser(x) = parsehtml(String(x))
page = urldownload("http://example.com", parser = pageparser)
pics_page = @_ eachmatch(sel"div.wpagination", page.root) |> first |>
   eachmatch(sel"div.number", __) |> last |> nodeText |>
   parse(Int, __) |> rand(2:__) |> seed.url * "/page-" * string(__) |>
   urldownload(__, parser = pageparser)
источник

АО

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

VG

Viktor G. in Язык программирования Julia / Julia programming language
Что если у меня разные по смыслу переменные одного и того же числового типа (скажем, Int32) надо диспатчить по-разному? Нужно делать для них тип-обертку от Int32?
источник

АО

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

VG

Viktor G. in Язык программирования Julia / Julia programming language
Не по значению, а просто есть два разных параметра одного типа
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
ну в смысле foo = 1, bar = 2, при этом они одного типа Int
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
но надо различать fcn(foo) и fcn(bar) - делать разные методы, но это нельзя, т.к. у них одинаковая сигнатура fcn(::Int)
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну вот как-то так можно (не знаю, насколько это отвечает на вопрос)
julia> function f(::Val{:foo}, x)
          return x
      end
f (generic function with 1 method)

julia> function f(::Val{:bar}, x)
          return x*x
      end
f (generic function with 2 methods)

julia> foo = 1
1
julia> bar = 2
2
julia> f(Val{:foo}(), foo)
1
julia> f(Val{:bar}(), bar)
4
источник

АО

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

АО

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

VG

Viktor G. in Язык программирования Julia / Julia programming language
я думал ввести обертку типа struct Foo parent::Int end
источник

АО

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

julia> struct Container{T}
          x::Int
      end

julia> f(x::Container{Val{:foo}}) = x.x
f (generic function with 1 method)

julia> f(x::Container{Val{:bar}}) = x.x^2
f (generic function with 2 methods)

julia> Container(name, x) = Container{Val{name}}(x)
Container

julia> foo = Container(:foo, 1)
Container{Val{:foo}}(1)

julia> bar = Container(:bar, 2)
Container{Val{:bar}}(2)

julia> f(foo)
1

julia> f(bar)
4
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
можно просто Container{:foo}, тут Val не нужен
источник

АО

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