Skip to content

System typów w języku Julia

Photo of Bogumił Kamiński
Hosted By
Bogumił K.
System typów w języku Julia

Details

Cel tego spotkania jest prosty. Chcę pokazać uczestnikom co znaczy poniższa definicja funkcji (prawdziwy kod w bibliotece DataFrames.jl z dokładnością do formatowania, którego meetup.com nie chce mi zrobić dobrze):

function rename!(df::AbstractDataFrame,
args::Union{AbstractVector{<:Pair{Symbol,<:AbstractString}},
AbstractVector{<:Pair{<:AbstractString,Symbol}},
AbstractVector{<:Pair{<:AbstractString,<:AbstractString}}})
rename!(index(df), [Symbol(from) => Symbol(to) for (from, to) in args])
return df
end

i czym się różni w działaniu od:

function rename!(df::AbstractDataFrame,
args::AbstractVector{<:Pair{<:Union{Symbol,AbstractString}, <:Union{Symbol,AbstractString}}})
rename!(index(df), [Symbol(from) => Symbol(to) for (from, to) in args])
return df
end

(ta wersja została odrzucona jako niepożądana)

Przy okazji pomówimy o covariance, contravariance i invariance w systemie plików języka Julia (piszę po angielsku, ponieważ nigdy nie mam pewności jak najlepiej te terminy na język polski przetłumaczyć).

Wszystkich zainteresowanych serdecznie zapraszam,
Bogumił

Photo of Warszawskie Forum Julia group
Warszawskie Forum Julia
See more events
SGH, Budynek A, Sala 1
ul. Rakowiecka 24 · Warszawa, al