Julia Tingkat Menengah
Anthony Markham
Quantitative Developer
function add_values(x, y)
x + y
end
add_values(1, 2) # 3
add_values("A", "B")
ERROR: MethodError: no method matching +(::String, ::String)
function add_values(x::String, y::String)
x * y
end
add_values("A", "B") # AB
(x -> x^2 + 3)(2)
7
Fungsi anonim juga berguna di luar evaluasi fungsi sederhana.
map() menerapkan fungsi ke tiap nilai dalam koleksi.
map(x -> 2*x + x^2 + 1, [1, 2, 3])
3-element Vector{Int64}:
4 9 16
map((x, y) -> 2*x + x^2 + 1 + y, [1, 2, 3], [1, 1, 1])
3-element Vector{Int64}:
5 10 17
Fungsi filter dapat menyaring struktur data dengan kondisi.
Kita dapat memakai fungsi anonim dengan filter untuk menyaring nilai tertentu.
filter!("Date" => n -> n == "21/01/2022", stock_data)
Row | Date Open High Low Close Adj Close Volume
| String15 Float64 Float64 Float64 Float64? Float64 Int64
<----|-----------------------------------------------------------------------
1 | 21/01/2022 164.42 166.33 162.3 162.41 161.473 122848900
Julia Tingkat Menengah