g = (k^2 for k in -3:3)
Base.Generator{UnitRange{Int64}, var"#1#2"}(var"#1#2"(), -3:3)
collect(g)
7-element Vector{Int64}: 9 4 1 0 1 4 9
v = [k^2 for k in -3:3]
7-element Vector{Int64}: 9 4 1 0 1 4 9
Tuple(g)
(9, 4, 1, 0, 1, 4, 9)
t = Tuple(k^2 for k in -3:3)
(9, 4, 1, 0, 1, 4, 9)
Set(g)
Set{Int64} with 4 elements: 0 4 9 1
s = Set(k^2 for k in -3:3)
Set{Int64} with 4 elements: 0 4 9 1
d = Dict(k => k^2 for k in -3:3)
Dict{Int64, Int64} with 7 entries: 0 => 0 -1 => 1 2 => 4 -3 => 9 -2 => 4 3 => 9 1 => 1
:([k^2 for k in -3:3]) |> Meta.show_sexpr
(:comprehension, (:generator, (:call, :^, :k, 2), (:(=), :k, (:call, :(:), -3, 3))))
:(Tuple(k^2 for k in -3:3)) |> Meta.show_sexpr
(:call, :Tuple, (:generator, (:call, :^, :k, 2), (:(=), :k, (:call, :(:), -3, 3))))
:(Set(k^2 for k in -3:3)) |> Meta.show_sexpr
(:call, :Set, (:generator, (:call, :^, :k, 2), (:(=), :k, (:call, :(:), -3, 3))))
:(Dict(k => k^2 for k in -3:3)) |> Meta.show_sexpr
(:call, :Dict, (:generator, (:call, :(=>), :k, (:call, :^, :k, 2)), (:(=), :k, (:call, :(:), -3, 3))))
f(x, y) = (d = x^2+y^2; d == 0 ? d : x^2*y/d)
X = Y = range(-1, 1; length=201)
z = [f(x, y) for y in Y, x in X]
Z = f.(X', Y)
z == Z
true
using Plots
surface(X, Y, Z; camera=(40, 70))
surface(X, Y, f; camera=(40, 70))