ì ëª©ìŽ ëªšë ê²ì ë§íŽì€ëë€. ì€í ì¶ì ì íìí ì¢ì íìì ì°Ÿìê³ ëªšë ì¬ì©ìê° ííì ë°ì ì ìë€ê³ ìê°í©ëë€. íì¬ ClearStacktrace.jl ì ììŒë©° ììì Crayons.jl
ì ë°ëŒ ë€ëŠ
ëë€.
ìŽ PRì ì€ë¹íêž° ìíŽ ëŽê° 묎ìì í ì ìëì§ ìê³ ì¶ìµëë€. Julia Baseê° REPL ììì ì²ëŠ¬íë ë°©ë², ëŽê° ì¬ì©í ì ìë ìì, Crayons
ììŽ ì¡ìžì€íë ë°©ë² ë±ì 몚ëŠ
ëë€. ìì€í
ì ë°ëŒ ì€íìŽ ë³µì¡í ìë ìëì§ë ëªšë¥Žê² ìµëë€. ëŽê° ê°ê³Œí íì ì Windowsì Mac 컎íší°ììë§ í
ì€íží©ëë€.
Ʞ볞 ììŽëìŽë ìž ê°ì ìŽ, íšì, 몚ë ë° ìëª ì ê°ë ê²ì ëë€. êž°ë¥ê³Œ 몚ëì íšê» Ʞ볞ì ìŒë¡ íì REPLì ìíìŒë¡ ë§ììŒ íë ë°ë©Ž ìëª ì ë§€ì° êžž ì ììŒë¯ë¡ ì ì€ë¡ ëì¹ ì ììŒë©° REPLì í¬êž°ë¥Œ ì¡°ì í ë ììëì§ ìê³ ê·žëë¡ ì ì§ë©ëë€(ë ë³µì¡íì§ë§ 깚ì§êž° ì¬ìŽ í ìŽëž ë ìŽìì곌 ë¹êµ). ìœë 겜ë¡ë ê°ê° ì ì€ì ê°ì žì€ê³ ë묎 êžžë©Ž ì€ë²íë¡ê° íì©ë©ëë€. ìŽë ê² íë©Ž Atom/VSCode ë±ìì íŽëŠ ê°ë¥í ë§í¬ê° ê·žëë¡ ì ì§ë©ëë€.
ì°žê³ ë¡ READMEì ì í ë¹êµë ë€ì곌 ê°ìµëë€.
ì ì:
íì:
ìŽê²ìŽ ììŒë©Ž ì ë§ ì¢ì ê²ì ëë€. ëë Ʞ볞ì ìŒë¡ Ʞ볞ì ìŒë¡ ì€í ì¶ì ìžì륌 ê°ì íë ì¶ìë ë²ì ìŒ ì ììµëë€.
몚ë ì°¬ì±ì
ëë€. ëŽê° ìŽíŽíì§ ëª»íë ê°ì¥ ì€ìí ê²ì ìëª
ì ììì
ëë€. ê·žë€ì 묎ììë¡ ë³Žì
ëë€. ë€ë¥ž ìì륌 ë ìœê² ê³ ë¥Œ ì ìëë¡ ë€ë¥ž ìììŽ ìë ê² ê°ì§ë§ ì¡°êž ìŽìí©ëë€. ìì == ì€ì²© ê¹ìŽë ìŽë»ìµëê¹? ì ìê°ì ê°ì¥ ìŽìí ì ì ì륌 ë€ìŽ Tuple{Symbol,Symbol}
ë ê°ì Symbol
ê° ë€ë¥ž ìììž ê²œì°ì
ëë€.
ì ë§ ë³Žê³ ì¶ì ê²ìŽ ë ììµëë€.
julia> foo(x::T, y::T) where T = error("whoops")
foo (generic function with 1 method)
julia> function bar()
a = rand(3, 5)
b = view(a, :, 2:3)
c = reinterpret(Float32, b)
foo(c, c)
end
bar (generic function with 1 method)
julia> bar()
ERROR: whoops
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] foo(::Base.ReinterpretArray{Float32,2,Float64,SubArray{Float64,2,Array{Float64,2},Tuple{Base.Slice{Base.OneTo{Int64}},UnitRange{Int64}},true}}, ::Base.ReinterpretArray{Float32,2,Float64,SubArray{Float64,2,Array{Float64,2},Tuple{Base.Slice{Base.OneTo{Int64}},UnitRange{Int64}},true}}) at ./REPL[1]:1
[3] bar() at ./REPL[2]:5
[4] top-level scope at REPL[3]:1
íì§ë§ ìŽí
julia> m = first(methods(foo))
foo(x::T, y::T) where T in Main at REPL[1]:1
julia> m.sig
Tuple{typeof(foo),T,T} where T
ì°ëŠ¬ê° ê°ì ê°ì í목 2륌 ìžì í ì ììŽìŒíë€ ë³Žìžë€
[2] foo(::T, ::T) where T = Base.ReinterpretArray{Float32,2,Float64,SubArray{Float64,2,Array{Float64,2},Tuple{Base.Slice{Base.OneTo{Int64}},UnitRange{Int64}},true}}
ìì ì견ìŽì§ë§ ëìê² íì¬ ê·žê²ì ìë§ë ë묎 ë§ì ìì "ìë¬ë"ìŒ ê²ì ëë€. ì€í íë ì 칎ìŽí°ë íëì, ìëª ì 몚ë ë€ë¥ž ìì ë±ì ëë€. Ʞ볞 ììì ê²œì° ì§êžê¹ì§ 16ê°ì§ ìì€í ìì(8 + 8ê°ì ë°ì ìì)ë§ ì¬ì©íìŒë©° ìŽë¡ ìžíŽ ë©ì§ ìììŽ ì¡°êž ë ìŽë €ìì¡ìµëë€.
ì ë°ì ìŒë¡ ì¢ì ì ì. ëŽê° ì§êžê¹ì§ ììì ì íí ìŽì ë ë€ì곌 ê°ìµëë€.
ì«ìë ì€ìíêž° ë묞ì íëììŽë¯ë¡ íììŒë¡ íìíŽìë ìëì§ë§ í°ììŒë¡ ë§ëë ê²ì íšì ìŽëŠìŒë¡ 죌ì륌 ëêž° ìíŽ ìžì°ë ê²ì²ëŒ ë껎ì¡ìµëë€.
몚ëì 죌Ʞìì Ʞ볞 ììì ì¬ì©í©ëë€. êŽë š 몚ëì ëí ì¶ì ì ë¹ ë¥Žê² íí°ë§í ì ìêž° ë묞ì ìŽê²ìŽ ë§€ì° ì ì©íë€ê³ ìê°í©ëë€. ìŽê²ì íì¬ ì€í ì¶ì íì곌 ë§€ì° êŽë šìŽ ììµëë€. ì¬ëë€ìŽ ìíë ê²ì ì°Ÿêž° ìíŽ ê°ë¥í í ì ê² ìœëë¡ ê°ìëìŽìŒ íë€ë ìê°ì ëë€. (ì§êžê¹ì§ íì°œìì ì ì£Œë¡ ì구ìŽë곌 죌ìë ¥ ì°êµ¬ë¥Œ íêž° ë묞ì ê·žë° ë¶ë¶ë€ìŽ ì€ìí©ëë€ ;) )
ìëª ì ììì ë§€ì° ë Œìì ì¬ì§ê° ììµëë€. ìì ì€í¬ëŠ°ì·ì ìë ê²ë€ì ì§ì íì곌 ìœê°ë§ ë€ë¥Žê² ì íëììµëë€. ëìì ë€ìí ì믞 êµ¬ì± ìì륌 ìë³í ì ìꞰ륌 ìíìµëë€. ìŽê²ìŽ 몚ë ì í ë° ì í 맀ê°ë³ì(ì€êŽíž ë° ìŒí)ê° ìì ì íì ìŒìŒí€ë ìŽì ì ëë€. ìž ê°ì§ ìììŽ ìë€ë ê²ì ê°ì ììì ê°ì§ ë ê°ì ìŽììŽ ìë€ë ê²ì ì믞í©ëë€. ê±°ëí íì ìê·žëì²ê° 몚ë í°ììŽë©Ž í ëšìŽë¥Œ 구ë³íêž°ê° ë§€ì° ìŽë µë€ë ê²ì ìììµëë€. ìœê° ë€ë¥ž ìì¡°ë ë§ì ëììŽ ëì§ë§ ìê°ì ìŒë¡ 몚ë ê²ì ì¡°êž ë ìëëœê² ë§ëëë€.
16ì ìžížë ì§ì íì곌 ìœê°ë§ ë€ë¥ž ìì ê°ì§ê³ ìì§ ìêž° ë묞ì ë² ìŽì€ì í¬íšë ì ìë ê²ì ìë ê²ì ëë€. ìµê·Œ ì ë°ìŽížìì ììì ANSI ìžížì ìœê° ë€ë¥ž 3ê°ì§ íì ìììŒë¡ êµì²Žíì§ë§ ê·žë§ì ë 몚ë ê³³ìì ì§ìëì§ë ìì ê² ê°ìµëë€.
ì ìì ì€í íë ì ìì곌 몚ë ììì ë¬Œë¡ ë€í¬ ê·žë ìŽì íìŽížë 몚ë ìì€í ììì ëë€. ì¬êž°ìì 볌 ì ìë ê²ì²ëŒ ë ëë§íë ê²ì ëŽ í¹ì VSCode í ë§ìŒ ë¿ì ëë€.
ìŽê²ì ì¢ì ê²ì ëë€.
ìžì ì íì ì€ìºí ë ì¢ ì¢ íëê° ìŽëì ë©ì¶ê³ ë€ììŽ ììëëì§ íì íêž°ê° ë§€ì° ìŽë µìµëë€. ìµìì ë 벚ì ë€ë¥Žê² ìì¹ íë ê²ì ì¬êž°ìì ë§€ì° ëììŽ ë ì ììŒë©° ìë§ë ìžìì ë²ížë¥Œ 맀Ꞟ ìë ììµëë€.
[3] (_1::DataFrames.var#fun##309#"{ ...lighter... }, _2::NamedTuple{ ...lighter... }, _3::Int64})
methods(f)
ìžììì íë ê²ì²ëŒ ìžì ìŽëŠì íìí ì ììŽìŒ í©ëë€.
ìŽë? ìëª
ììì ì§ì íììŒë¡ êµì²Žíì§ë§ ::
ë í°ììŽë¯ë¡ ìžì ì íìŽ ììëë ìì¹ìì ëëë¬ì§ëë€. ìì¹ 11ì ì í 몬ì€í°ìê² í¹í ì ì©í©ëë€.
ì¢ìì. ìžì ìŽëŠìŽ ììŒë©Ž ëì± ì¢ìµëë€.
"íšì - 몚ë - ìžì" ììê° ë ìŽììì ëíŽ ì ìëíì§ë§ ì믞ììŒë¡ë ì€ì ë¡ ìë¯žê° ìë€ë ê²ì ë묎 ëì©ëë€. íì§ë§ íŽê²°ì± ìŽ ììµëë€. ë¶ëª í êž°ë¥ìŽ 뚌ì ì€ë ê²ìŽ ê°ì¥ ì¢ìµëë€. 몚ëìŽ íìŒ ìì¹ ìŽì ì ë€ì ì€ë¡ ìŽëí ì ììµëê¹? ê²°êµ ìì¹ì ìŒë¶ì ëë€. ê·žë¬ë©Ž í€ëë íìíì§ ìì ì ììµëë€.
ì«ì륌 ìŒë° í ì€ížë¡, íšì ìŽëŠì êµµê² ë°/ëë í°ììŒë¡ ì ë ¥í ìë ìë€ê³ ìê°í©ëë€.
ìœë ê²œë¡ ëì ìë íìŒ ìŽëŠ(ë° ì€ ë²ížë ê°ë¥)ìŽ ë ë°ì ììì ê°ì§ ì ììµëê¹?
몚ëìŽ íìŒ ìì¹ ìŽì ì ë€ì ì€ë¡ ìŽëí ì ììµëê¹? ê²°êµ ìì¹ì ìŒë¶ì ëë€. ê·žë¬ë©Ž í€ëë íìíì§ ìì ì ììµëë€.
ìŽ ì ììŒë¡ ëª ê°ì§ë¥Œ ìëíŽ ë³Žê² ìµëë€.
ìœë ê²œë¡ ëì ìë íìŒ ìŽëŠ(ë° ì€ ë²ížë ê°ë¥)ìŽ ë ë°ì ììì ê°ì§ ì ììµëê¹?
ë¬Œë¡ êž°ì ì ìŒë¡ ê°ë¥í©ëë€ ;) íì ë ëì ê°ìì±ê³Œ 죌ì륌 ëë ìì ì¬ìŽì ì 충ìì ëë€.
몚ëì íšìì ì 첎 ìŽëŠì ìŒë¶ìŽë¯ë¡ 뚌ì ìì±íì§ ìë ìŽì ë 묎ìì
ëê¹? ìë§ë ìììŒë¡ Core.eval
ë±ì ì°ë ê²ë§ìŒë¡ë 충ë¶í ëª
ííê±°ë ì¬ì í ìŽë¡ ì ë ¬ë ì ììµëë€. (ìëë©Ž ìŽê²ì ìëíëë° ëì°íŽ 볎ìì ìë ììµëë€.)
ì ë§ ë¯žì¹ ìê°ì
ëë€. ìžì ì íì ìžìí ë í ì€ ìŽìì ì°šì§í ê²œì° ìëª
ì ì í ííë¡ ìžìí ë€ì REPL.TerminalMenus
륌 ì¬ì©íì¬ ë·°ìŽê° íì¥í ì ìëë¡ í©ëë€. ë€ì곌 ê°ì ê²:
julia> run_command(args...)
Function Arguments Location
[1] f (x::Int, y::Float64) MyModule1, /path/to/file1.jl: 15
[2] g +(...) MyModule2, /path/to/file2.jl: 64
...
julia> lasttrace()
# presents the above in menu form, allowing user to expand line 2
êŽë š í목: #35915(ì í ížëŠ¬ ë©ëŽë¥Œ ë§ëë ë° ì¬ì©í ê³íì ëë€. https://github.com/JuliaCollections/FoldingTrees.jl).
ë€ì ììë¡ ì¬ë°°ìŽë ìœë 겜ë¡ë¥Œ ì¬ì©íë©Ž ìŽë»ê² 볎ì
ëê¹? LineNumber íìŒ ìŽëŠ 겜ë¡
ê·žë¬ë©Ž ëì ì¶ê° ìì ììŽ ì€ ë²ížì íìŒ ìŽëŠì ì°Ÿì ì ìë ìì ì ìž ìì¹ë¥Œ ê°ê² ë©ëë€(ì ë íì ìžë¶ ì¬íì 묻í ìë íìŒ ìŽëŠê³Œ ì€ ë²ížë¥Œ ì°Ÿê³ ìë ê² ê°ìµëë€. ì ì ììµëê¹?)
ê·žëŠ¬ê³ ëíí REPL ìì
ì ê²œì° ìì ì í ììŽëìŽë¥Œ ì¢ìí©ëë€. :)
몚ëì 뚌ì ìì±íì§ ìë ìŽì ë íšìì ì 첎 ìŽëŠì ìŒë¶ìŽêž° ë묞ì ëë€.
ë€, ììŽëìŽê° ë§ìì ëëë€. ìì ììŽ ììíëë° ì ìëíì§ ìë ê² ê°ìµëë€. íì§ë§ ìŽë ê² íë©Ž ì€ì ë¡ ìœì ì ììµëë€. êž°ë¥ìŽ ëì ìëŽíêž° ë묞ì íì ì¢ì§ë§ êž°ë¥ì ì¬ì©íì§ ìê³ ë€ììŒë¡ ìëíŽ ë³Žê² ìµëë€.
íì€íì§ ììµëë€. íšì ìŽëŠì 몚ëë³Žë€ íšì¬ ë ì€ìí ì 볎ì
ëë€. ì ìŽë ëìê² ê°ì¥ ì€ìí ì 볎ë íì€í íšì ìŽëŠ, íìŒ ìŽëŠ, ì€ ë²ížì
ëë€. ëí ì€í¬ëŠœížì ê²œì° ìŒìªœ ìŽì ë§ì Main
ìŽê±°ë 공백ìŽë¯ë¡ íŽë¹ ì¬ì© ì¬ë¡ì ì í©íì§ ììµëë€.
ì€í ì¶ì ì ìœì ë ìŒë°ì ìŒë¡ ë²ê·žê° ëŽ ìœëì ìêž° ë묞ì Ʞ볞/íší€ì§ ìœëë¡ ìŽëíêž° ì ì ëŽ ìœëìì ë§ì§ë§ ížì¶ì ì£Œë¡ ì°Ÿê³ ìë€ê³ ìê°í©ëë€. ë°ëŒì ìŽ ê²œì° ëªšëì ë§€ì° ì€ìíê³ íšì ížì¶ì ëŽê° 뚌ì ì€ìºíë ê²ìŽ ìëëë€.
ìŽê²ì ìŽë€ê°ì:
[1] get_ticklabels ::AbstractPlotting.Automatic, ::Int64
in MakieLayout at ~/.julia/packages/MakieLayout/COfBu/src/lineaxis.jl:372
몚ë ìŽëŠì ì¬ì í ââì ë ¬ëìŽ ììŒë¯ë¡ ìœê² ì€ìºí ì ììµëë€.
ëë ì€ì ë¡ ê·žê²ì ê°ê¹ìŽ ê²ì ìëíìµëë€. ìŽë²ìë íšì ìŽëŠ ì첎ì ììì ì§ì íì¬ ì¬ì í ê°ì¥ ëì ëì§ë§ 몚ë ì 볎륌 ìììŒë¡ ì ë¬í©ëë€. ë°ëŒì ì¬ì í ëª ë°±í 귞룹íê° ìì§ë§ 몚ë 몚ë ìŽëŠì ë ì§ì€í©ëë€.
ì²ììŒë¡ ìììŽ ì믞íë ë°ë¥Œ ìŽíŽíë €ê³ ì ì°ë 몚ìµì 볎ìì ë :joy: 몚ëë³ ìììŽ ìë ê²œì° ëªšë ìŽëŠì ììì ì ì©íë ê²ìŽ ë ëì ê² ê°ìµëë€.
몚ë ìŽëŠìŽ ë§ìì ëëë€. ìŽ ìµì ì¬ì§ììë ìœê° ìì€ë©ëë€.
ê·žë€ìŽ ë°ë¥ì ìë€ë©Ž ê°ì ë°ì ìììŒë¡ ë§ë€ë©Ž ì¬ë¬Œì ì°ê²°í ì ììµëê¹? (ê·žëŠ¬ê³ ëªšë 겜ê³ë¥Œ ëë ìì¹ë¥Œ ëª íí íììì€.) ê·žëŠ¬ê³ ìë§ë 몚ë ìŽëŠìŽ 겜ë¡ì ëíëë©Ž ëì ê±°êž°ì ê°ì¡° íìë ì ììµëë€. ê·žë¬ë©Ž íšìê° ìë ìŒìªœ ê°ì¥ì늬ìì ë€ì±ë¡ìŽ ìŽëŠìŽ ìŽëí©ëë€.
ìê°ì ì»êž° ìíŽ ë§ì§ë§ìŒë¡ stacktrace íìì ì¡°ì í ë ëìš ëª ê°ì§ ìŽë¯žì§ë¥Œ ê²ìí©ëë€.
ì¢
ì¢
ì íí íší€ì§ë ìœëì í¹ì±ë§íŒ êŽì¬ì ëì§ ëª»í©ëë€. íµì¬ julia, ëŽê° ì¬ì© ì€ìž ëŒìŽëžë¬ëŠ¬, ê°ë° ì€ìž ëŒìŽëžë¬ëŠ¬ ëë ì€í¬ëŠœížì
ëê¹? core/base/dev/stdlib, packages, íì¬ ]dev
ed íší€ì§ ë° ëëšžì§ ëªšë ìì(ì€í¬ëŠœíž/REPL í¬íš)ì 4ê°ì§ ììì ê°ì§ ì ììµëë€. ìŽë¬í êµ¬ë¶ ì€ ìŒë¶ë ë§€ì° ììì ìŽë©° ë¶ë¥ê° ìœê° ë¶ìì§êž° ìœì§ë§, ìŽë¥Œ êž°ë°ìŒë¡ íë ë°©ë²ì ììì ì§ì íë©Ž (ì ìŽë ì ìê²ë) ì¶ê° í
ì€ížë¥Œ íìíì§ ìê³ ì 볎륌 ìµëííê³ ìê³ êž°ìµíêž° ì¬ìŽ ìì ìžížë¥Œ ì ì§í©ëë€.
ëìê² ììì í 몚ëì ìœëê° ììëê³ ë€ë¥ž 몚ëìŽ ëëë ê²œê³ ë³ê²œì êŽí ê²ì ëë€. ê·žëì ëë ê·žë€ìê² ë³žì§ì ìž ì믞륌 ë¶ì¬íì§ ìì ê²ì ëë€. ë°ë©Žì íŒëì€ë¬ìž ì ììµëë€.
몚ë ìŽìŽ ììŒë©Ž ë ìŽì ì ì©íì§ ìêž° ë묞ì ë ëšìííë €ê³ ìëíê³ ìŽì ë€ì ì ê±°íìµëë€. ê·žë° ë€ì 뚌ì 몚ëë³ë¡ ì€ ë²ížë§ ì±ìíì§ë§ ì¬ì í íìŒ ìŽëŠìŽ 볎ìŽì§ ìì ë§ì ìê²¬ìŽ ì€ìíë€ê³ ë§íìµëë€. ê·žëì 몚ë ìììŒë¡ë ì±ìíìµëë€. 몚ë ìŽëŠ ì첎ë íšì ìŽëŠì ë묎 ê°ê¹ê³ ë묎 ìëëœêž° ë묞ì ìììŽ ì§ì ëì§ ììµëë€.
ë€ìì ì«ìì íìŒ ìŽëŠìŽ 몚ë ìì¹ ë ë²ì ì ëë€.
ì¬êž°ì íìŒ ìŽëŠìŽ ììµëë€.
ì 첎 íìŒ ê²œë¡ë¥Œ ìì¹ íŽ ë³Œ ìë ììµëê¹?
ììŽëìŽ ì¢...
íìŒ ìŽëŠê³Œ ì€ ë²ížë¥Œ ìŒêŽì± ìë ìì¹ì ëìŽ ê³µë°±ì ëìŽ êµ¬ë¶í©ëë€.
ì€í ë 벚 ìì곌 몚ë ìììŽ ìë¡ ìŒì¹íì¬ êŽë š ëŒìžì ìê°ì ìŒë¡ ìì ìŽë£¹ëë€.
íìŒ ìŽëŠ, ì€ ë²íž ë° ê²œë¡ë¥Œ 맀ê°ë³ì ì í곌 ìœê° ë€ë¥ž ìì¡°ë¡ íìíì¬ ë³µì¡íì§ ìê² êµ¬ë¶í©ëë€.
[ìŽ ìì ììì ììì ìŽë©° ìì¹ê° ìŽë»ê² êŽë šëëì§ ë ë§ìŽ ìê°í©ëë€.
ìììì ëëœë ì€í ë 벚곌 ë§ì§ë§ í목ì ëšì¶ë 맀ê°ë³ì ì í 목ë¡ì ì ê° ìì륌 ì§ì ì
ë ¥íêž° ë묞ì
ëë€.]
ëêµ°ê°ê° ê·žê²ì ê°ì§ê³ ëê³ ì¶ìŽíë ê²œì° ìì ìíì ìì±íë ë° ì¬ì©ëë ìœë:
function main()
errors = [
("1", "get_ticklabels", ("AbstractPlotting.Automatic", "Int64"), "372", "lineaxis.jl", "MakieLayout", "~/.julia/packages/MakieLayout/COfBu/src")
("2", "get_ticklabels", ("AbstractPlotting.Automatic", "Int64"), "351", "lineaxis.jl", "MakieLayout", "~/.julia/packages/MakieLayout/COfBu/src")
("3", "#105", ("AbstractPlotting.Automatic",), "152", "lineaxis.jl", "MakieLayout", "~/.julia/packages/MakieLayout/COfBu/src")
("8", "OnUpdate", ("Tuple{Float32,Float32}",), "218", "Observables.jl", "Observables", "~/.julia/packages/Observables/0wrF6/src")
("9", "#setindex!#5", ("Observables.var\"#6#8\"",), "138", "Observables.jl", "Observables", "~/.julia/packages/Observables/0wrF6/src")
("10", "setindex!", ("Observables.Observable{Any}",), "126", "Observables.jl", "Observables", "~/.julia/packages/Observables/0wrF6/src")
("11", "#LineAxis#95", ("Base.Iterators.Pairs{Symbol,Observables.Observable,NTuple{28,Symbol},NamedTuple{(:endpoints, :limits, :flipped, :ticklabelrotation, :ticklabelalign, :lables
ize, :labelpadding, :ticklabelpad, :labelvisible, :label, :labelfont, :ticklabelfont, :ticklabelcolor}",), "270", "lineaxis.jl", "MakieLayout", "~/.julia/packages/MakieLayout/COfBu/src/lobjects")
]
println()
for (idx, err) in enumerate(errors)
# Module color
mc = idx <= 3 ? :light_red : (idx >= 7 ? :light_red : :light_yellow)
# Path color
pc = :blue
printstyled("[", color=mc)
printstyled("$(err[1])", color=mc) # errorno
printstyled("] ", color=mc)
printstyled("$(err[5])", color=pc) # filename
printstyled(":", color=pc) # colon
printstyled("$(err[4])", color=pc) # lineno
printstyled(" $(err[7])", color=pc) # path
println()
printstyled("$(err[6]) ", color=mc) # module
printstyled("$(err[2]) ", color=:bold) # function
printstyled("(", color=:light_blue) # param types
for t in err[3]
printstyled("::", color=:white)
printstyled("$t", color=:light_blue)
end
printstyled(")", color=:light_blue)
println()
end
end
ìŽê²ì 묞ì ë ìŽê²ìŽ Atom/VSCode ë±ìì íŽëŠ ê°ë¥í ë§í¬ë¥Œ ëšê²šëì§ ìëë€ë ê²ì ëë€. ìŽê²ì ì ê° ë§€ì° ì죌 ì¬ì©íë ê²ìŽë©° ë€ë¥ž ì¬ëë€ë ë§ì°¬ê°ì§ëŒê³ ìê°í©ëë€. ì¬ì€ íŽëŠí ì ìëë¡ êž°ë³ž 겜ë¡ë¥Œ ëª ìì ìŒë¡ íì¥íêž°ë í©ëë€. ìŽê²ì ë¬Œë¡ ë ë§ìŽ ìžìí©ëë€. íì§ë§ íì©ë륌 ëìŽë ê² ê°ìì. ëª ê°ì§ ë°ë¡ ê°êž°ë¥Œ ì¬ì©íì¬ REPLìì ë²ížë³ë¡ ì¶ì í목ì ì€íìŒë¡ ìŽëí ì ìë ë°©ë²ìŽ ìë€ë ê²ì ìê³ ìì§ë§ ìŽê²ì ëŽ ìê°ì ë§í¬ë¥Œ íŽëŠíë ê²ë³Žë€ íšì¬ ë ì§êŽì ì ëë€.
í ì ë³Žê° ë¡ê¹ ìì€í ìŒë¡ ìžìëë ë°©ìì íµí©í êž°í륌 ì¡ë ê²ìŽ í©ëŠ¬ì ìŒ ì ììµëë€. ì륌 ë€ë©Ž ë€ì곌 ê°ìµëë€.
ëí ë¡ê¹ ìì€í ì homedirì ì¶ìí©ëë€.
julia> include("foo.jl")
â Warning: foo
â @ Main ~/julia/foo.jl:1
ì¬êž° ì ìììë ë ê°ì§ íµì¬ ììŽëìŽê° ìë€ê³ ìê°í©ëë€.
ê·žëì ë€ìì ë ê°ì§ ììŽëìŽ ëªšëì ëíŽ ìœê° ë 볎ìì ìž ìëì ëë€.
ë³ì ìŽëŠìŽ ì¶ê°ëê³ ëªšë ìŽëŠìë§ ìììŽ ì§ì ë ë²ì (ê·žë ì§ ììŒë©Ž @info
겜ë¡ë¥Œ ìžìíë ë°©ì곌 ìŒì¹íš):
ìŽê²ì ë§€ì° êžŽ ì í ìëª ì ê°ì§ê³ ìì§ ìì§ë§ ìë§ë ìŽì ê°ì ë³ì ìŽëŠì ê°ë ê²ìŽ(ê°ë¥íë€ë©Ž?) ê° ìžìì ê°ì¥ ë°ê¹¥ìªœ ì íì ë ìœê² ì°ŸìëŒ ì ìì ê²ì ëë€.
ìž ê°ì§ ìì€ì ì€ëŠœ(ì: êµµê²/볎íµ/íì)ì ì¬ì©í ì ìë ê²œì° íìŒ ê²œë¡ë¥Œ ìëª
ë³Žë€ ë ê°ë³ê² ìžìíë ê²ìŽ(IMO) íšê» ì€íëë ê²ì ì€ì§íë ì¢ì ë°©ë²ìž ê² ê°ìµëë€. ( @info
ë ë§ì°¬ê°ì§ì
ëë€.)
@timotaularson ì ìœë ì¡°ì
íëœíë€ printstyled("\njulia> ", ìì=:ë ¹ì) println("f()") printstyled("""ì€ë¥: DimensionMismatch("Aìë ì¹ì(1,2)ê° ìì§ë§ Bìë ì¹ì(3,4)ê° ììµëë€.")""", color=:light_red) println("\nì€í ì¶ì :") ìŽê±°(ì€ë¥)ì (idx, err) mc = idx <= 3 ? :blue : (idx >= 7 ? :blue : :yellow) # 몚ë ìì printstyled("[$(err[1])] ", color=:normal, bold=true) # errorno printstyled(err[2], color=:normal, bold=true) # íšì printstyled("(", color=:normal) # 맀ê°ë³ì ì í enumerate(err[3])ìì (i,t)ì ëíŽ i != 1 && printstyled(", ", ìì=:ìŒë°) printstyled(rand('a':'z')^2, color=:light_black) printstyled("::", ìì=:ìŒë°) printstyled("$t", ìì=:ìŒë°) ë printstyled(")", ìì=:ìŒë°) println() printstyled(" @ ", color=:light_black) printstyled(err[6], color=mc) # 몚ë printstyled(" $(err[7])/$(err[5]):$(err[4])", color=:light_black) # ê²œë¡ println() ë ë
ì¬êž° ì ìììë ë ê°ì§ íµì¬ ììŽëìŽê° ìë€ê³ ìê°í©ëë€.
* Have the line info on a separate line from the signature (and perhaps delimited it with some color to make it easier to find). * Show the module.
ê·žëì ë€ìì ë ê°ì§ ììŽëìŽ ëªšëì ëíŽ ìœê° ë 볎ìì ìž ìëì ëë€.
ëë ìŽê²ì ì¢ìíë€. ëŽ ìê°ìë "ë¹ì ì ì¬ëì 죜ì¬ëŒ"ëŒë ì©ìŽê° ìê³ ëŽ ì¬ëìŽ ììŒ ìë ììµëë€. ê·žë¬ë ëë í€ ë€ìŽ ë ê²ìŽ ìŽë»ê² ê·žë ê² êž°ë³žì ìž ê²ì ë ì í© í ì ìëì§ ì ì ììµëë€. 몚ë ìŽëŠê³Œ íšì ìŽëŠìŽ ìŒì§ì ìŽ ëëë¡ ìœê° ë³ê²œíëë°, ê±°ì êž°ë¥ ëªšìì ìžë¡ ëë¹ì ìŽ ìì±ë©ëë€. êŽë š ì 볎륌 ì°Ÿë ë° ëììŽ ë©ëë€. ëë ì¬ì í ì íì í°ììŒë¡ ëì§ ìì ê²ìŽëŒê³ ìê°í©ëë€. ìëíë©Ž ê·žë€ì ë묎 ì§ì ë¶íêž° ë묞ì ëë€. ë³ì ìŽëŠìŽ ìë€ë©Ž í°ììŽ ì¢ì ê²ì ëë€.
ëë ìŽê²ì ì¢ìíë€. ëŽ ìê°ìë "ë¹ì ì ì¬ëì 죜ì¬ëŒ"ëŒë ì©ìŽê° ìê³ ëŽ ì¬ëìŽ ììŒ ìë ììµëë€.
ëŽê° ë¹ì ì ìí©ì ìê³ ìë€ë ê²ì ìêž° ìíŽ https://github.com/JuliaLang/julia/pull/18228. ìŽê²ì ìì ê±° ìžì°šì¥ìì ë§€ì° ì¬ë¯žìë 죌ì ìŽê³ 몚ëê° íìžíž íµì ê°ì§ê³ ììµëë€. 볎ë€ìíŒ ê·ž í볎ë ꜀ ìŒì¬ì°šê² ììíì§ë§ ì ì 볎ìì ìŒë¡ ë³íŽê°ëêµ°ì ã ã
ëìê² ë§ì§ë§ ì ìì íì€í íì ì ì§ì ëí ê°ì ì ëë€. ëŽê° ìê°íë ë ê°ì§:
[ 8]
[ 9]
[10]
[11]
@
ë ì ë ¬ë©ëë€.ëë ê·žê²ì ì¢ìíë€. ëë ì°ëŠ¬ê° ìŽëê°ì ê°ê³ ìë€ê³ ìê°íë€. ììì ì ì€ì êž°íë ê²ì íì ì¢ìë°, ê·ž ìŽì ë ìì ê±° ìŽëì ìí íë©Žì ìŽ ë ë žì¶ëê³ ë€ë¥ž ì¬ëì í°ë¯žëìì ììì ìœì ì ìë ìíìŽ ê°ìíêž° ë묞ì ëë€.
ê°ê²©ì ëë ê²ì ì¢ì§ë§ ë¶ííë f (...)
구묞ì ëª
ìì ìŒë¡ íì©ëì§ ììŒë¯ë¡ 공백ì ì ê±°íê±°ë êŽížë¥Œ ì ê±°íŽìŒ íë€ê³ ìê°í©ëë€.
ê°ì¥ ìµê·Œì ìíì ìŒë°ì ìŒë¡ ì¢ì 볎ìŽì§ë§ ë ë²ì§ž ììŽëìŽë ë€ì곌 ê°ìµëë€.
ê°ë¥íë€ë©Ž ìëª ìŽ êžžë©Ž ìëª ê³Œ ììŽë 겜í¥ìŽ ìêž° ë묞ì ëŒìž ì 볎ì ëí ìŒì¢ ì "í "ìŽ ììŒë©Ž ì¢ì ê²ì ëë€.
ê·žëŠ¬ê³ ëë ê·ž ê³ ëŠ¬ê° ë€ë¥ž ììŽë (ë°ëì§íê²ë) ë°êž°ê° ëꞰ륌 ë°ëëë€.
몚ëì ìì 죌Ʞ륌 ìíí ì ìì§ë§ ì€í ìì€ ë²ížì ì쪜ì ìë [ ]ìë§ ì ì©í ì ììŒë¯ë¡ ìŽë€ ìŽì ë¡ ììì 볌 ì ìë ê²œì° ìì€ìŽ ë§ì§ ììµëë€.
몚ëì ìì 죌Ʞ륌 ìíí ì ìì§ë§ [ ]ìë§ ì ì©í ì ììµëë€.
ëêŽížë§ ìê³ ëì¡°ì ìž ë¶ë¶ì ììŒë©Ž ìì ì ëë¡ ë³Žêž°ë ìŽë €ìì ì ì ëë ê² ê°ìì..
구묞 f(...)ë ëª ìì ìŒë¡ íì©ëì§ ììµëë€.
ëª ì ì°šìŽ ë묞ì ê³µê° ììŽë ì ìŽìžëŠ¬ë ê² ê°ìì.
ê°ë¥íë©Ž ëŒìž ì 볎ì ëí ëì ìŒì¢ ì "í "ìŽ ììŒë©Ž ì¢ì ê²ì ëë€.
ëìí©ëë€. ì€ ë²ížë¥Œ íììŒë¡ ì ì§íì§ë§ êµµê² ëë ê²ìŽ ì ìëíë€ê³ ìê°í©ëë€. ê·žë¬ë©Ž ì°Ÿì ë ìœê° ëì ëì§ë§ í°ììŒë¡ ë§ëë ë€ì ëšê³ë ì ìê°ìë ë묎 ìëëœìµëë€.
ì€í íë ì ë²ížë¥Œ ì ë ¬íŽìŒ í©ëë€.
ê·íì ìì ê°ìŽ ëêŽíž ìì 공백ì ë£ìŽ ìëíì§ë§ ì¡°êž ìŽìíŽ ë³ŽììŒë¯ë¡ ìŽì ëêŽížë¡ ë¬¶ìž ì«ì륌 ì¬ë°ë¥Žê² ì ë ¬íê³ ììµëë€. ëë ê·žê²ìŽ ꜀ ì ìëíë€ê³ ìê°í©ëë€.
ë€ìì ìŽë¬í 몚ë ììŽëìŽê° íµí©ë ìµì ë²ì ì ëë€.
ê·žëŠ¬ê³ ë³Žëì€ë¡ ì¬êž°ì (ìì) ë³ì ìŽëŠì ì¬ì©íì¬ íìí ì ìë ë°©ë²ìŽ ììµëë€. ë€ì ë§íì§ë§, ìŽ ëªšë ë³ì ìŽëŠìŽ 죌ì륌 ëì§ ìììŒ íêž° ë묞ì êµµì íìì ì¬ì©íê³ ìì§ë§ ì°Ÿì볎멎 ìœê° ìë³í ì ììŽìŒ í©ëë€.
ëë ìŽê²ìŽ ìŽëë¡ ê°ê³ ìëì§ë ì¢ìí©ëë€. 몚ë ìŽëŠì ê°ì¡° íìíêž° ìíŽ í¬í륌 íê³ ì¶ìµëë€. ëë ì€ì ë¡ ê°ì 몚ëìŽ ê°ì ë°©ììŒë¡ ìììŽ ì§ì ëê³ ìììŽ ìííë ì€íìŒì ë§€ì° ì¢ìí©ëë€(ë ê°ì ì€í ì¶ì ì ìŽ ëªšë ì¬ìŽì ê·žëí ê°ì¥ìëŠ¬ë¡ ìžì íŽ ìë€ê³ ìê°íë©Ž ì¬êž°ì ê·žëí ìì 묞ì ê° ììµëë€). ê·žë¬ë ë¶ííë ê·ž ììŽ ì믞íë ë°ë ë¶ëª íì§ ììµëë€. 몚ë 몚ë ìŽëŠì ëšìŒ ìììŒë¡ ì±ìí©ëê¹?
ìŽ ì ë ¬ì ëìê² ì¢ì 볎ìžë€.
ëë ì¬ì í ìëª
곌 겜ë¡ë¥Œ ë ëª
ííê² êµ¬ë¶íë ê²ìŽ ì€ìëì 3ëšê³ìž ìŽëŠ/ìëª
/겜ë¡ë¥Œ 구ë¶íë ë° ëììŽ ë ê²ìŽëŒê³ ìê°í©ëë€. ë¡ê¹
맀í¬ë¡ @info
ë±. ë€ë¥ž ì€ë³Žë€ ë°ê² ìžìí©ëë€.
ë³ì ìŽëŠìŽ ììŒë©Ž ë§€ì° ì¢ìµëë€. ìëª ì ë³Žë³Žë€ ë ì€ìíë€ê³ í¬ííìê² ìµëê¹?
몚ë ìŽëŠìŽ ìŒìªœì ì ë ¬ëìŽ ììŒë©Ž ì€ìºíë ë° ëììŽ ëì§ë§ ìììŽ ë°ëë ê²ì 볎ë ìíê¹ìµëë€.
ëŽ ëì ìŽê²ìì 묌걎ì ì°Ÿì ììë ê³³ì ìê³ ìë ê² ê°ìµëë€ :)
몚ë ì¬ìŽì ë¹ ì€ìŽ ë묎 ë§ì ìì§ ê³µê°ì ì¬ì©í©ëê¹?
2ê°ì ë€ë¥ž ìììŒë¡ íì ììì ì§ì íì¬ ë첎 íìŽ ëìŒí ììì ê°ëë¡ íë©Ž íìì ì죌 ìíëë ê²ì²ëŒ ê°ë ì±ì ëììŽ ë ì ììµëë€.
몚ë ìŽëŠ ì첎 ëì 몚ë ìŽëŠ ìì ìë @ì ìì ìíì ê°ì¡° íìë íšì ìŽëŠê³Œ ë묎 ë§ìŽ 겜ìíì§ ìê³ (@ê° êœ€ í° ë¬žììŽêž° ë묞ì) ëì ëëë€.
맀ê°ë³ì ìŽëŠì ìžìŽë³Žì§ ìê³ ë ì¬ë°ë¥ž 맀ê°ë³ì ì íì ì°Ÿë ë° ëììŽ ëêž° ë묞ì 맀ê°ë³ì ìŽëŠì ì죌 ìíìµëë€.
겜ë¡(ë° ê·ž ìì ìë 몚ë ìŽëŠ)ê° ì í곌 ë°êž°ê° ë€ë¥Œ ì ììµëê¹? 맀ê°ë³ì ìŽëŠë§ ìŒì¹ìí¬ ì ììµëê¹? (ëë ìŽëŠì ì íë³Žë€ ìŽë¡ê² ë§ëë mcabbottì ì ìì ìííë ê²œì° ëªšë ì ì¡°ë íšê»)
ë€ë¥ž ììì ì¬ì©íë ê²ìŽ ìŽìì ìŽì§ë§ ë¡ê¹ ìŽ ì¬ì©íë ê²ì ëª ìì ìŒë¡ 믞ë¬ë§í ì ììµëë€.
for i in 1:3
printstyled("â[", color=:magenta, bold=true); print(i); printstyled("] ", color=:magenta, bold=true)
printstyled("get_ticklabels", bold=true); print("("); printstyled("style", color=:light_black); print("::AbstractPlotting.Automatic, "); printstyled("n", color=:light_black); print("::Int64")
i!=2 ? println(")") : begin print(", "); printstyled("xs", color=:light_black); print("::Array{Float64,2}, "); printstyled("ys", color=:light_black); print("::Array{Float64,1}, "); printstyled("yes", color=:light_black); print("::Bool, "); printstyled("no", color=:light_black); println("::Bool)") end
printstyled("â @ ", color=:magenta, bold=true); printstyled("MakieLayout", color=:magenta); printstyled(" ~/.julia/packages/MakieLayout/COfBu/src/lineaxis.jl:372", color=:light_black); println();
end
<strong i="6">@error</strong> join([join(rand('a':'z', rand(1:9))) for _ in 1:25]," ") pi
ížì§: ìŽì ì€ ë°ê¿ìŽ ëë íëì ë ꞎ ì€ê³Œ ê·žëŠŒìŽ ììµëë€.
ë¡ê¹ ìŽ ì¬ì©íë ê²ì ëª ìì ìŒë¡ 믞ë¬ë§í ì ììµëë€.
ëŽê° ìŽê²ì ëíŽ ê·žë€ì§ ì¢ìíì§ ìë ì ì í¹ì REPL ëë¹ ë묞ì ê±°êž°ì ìë ì€ ë°ê¿ìŽ ì°œ/REPLì í¬êž°ë¥Œ ì¡°ì íë©Ž ì ì ì¡ëì§ ìëë€ë ê²ì ëë€(ì륌 ë€ìŽ ë ꞎ ì€ì ìí ê³µê°ì ë§ë€ê³ ì íë 겜ì°) ) ëë ë€ë¥ž ëë¹ì ì°œì í ì€ížë¥Œ ë³µì¬/ë¶ì¬ë£êž°
ì, ëë ë§ì»€ë¥Œ ì°ìì ìŒë¡ ë§ë€êž° ìíŽ ëª ìì ìŒë¡ ì€ì ëë ê²ì ì ìíì§ ììµëë€. ì¬ì€ ì€ ë°ê¿ë ì ì íµê³Œíì¬ ë€ë¥Žê² 볎ìŽê² íë ê²ìŽ ì¢ì ì ììµëë€. ì£Œë¡ ììì íšì ìŽëŠì 묶ë ë°©ë²ê³Œ ê°ì¥ ì€ìí ì 목ì²ëŒ 볎ìŽë ëì í ë늬ì ìŒë¶ìž ê²œì° ë ëì ëê² ë§ëë ë°©ë²ì ëí ìê°ì ëë€.
ìììŽ ë§ìì ë€ìë€ê³ íŽìŒíë 볎ìì ìž ì±í¥ì ìŽíŽí©ëë€.
ê·žë¬ë ëë ë€ì곌 ê°ì ê² ë€ì ëŽ ì§ìì ëì§ê³ ì¶ìµëë€.
ì¢ ì¢ ì íí íší€ì§ë ìœëì í¹ì±ë§íŒ êŽì¬ì ëì§ ëª»í©ëë€. íµì¬ julia, ëŽê° ì¬ì© ì€ìž ëŒìŽëžë¬ëŠ¬, ê°ë° ì€ìž ëŒìŽëžë¬ëŠ¬ ëë ì€í¬ëŠœížì ëê¹? core/base/dev/stdlib, packages, íì¬
]dev
ed íší€ì§ ë° ëëšžì§ ëªšë ìì(ì€í¬ëŠœíž/REPL í¬íš)ì 4ê°ì§ ììì ê°ì§ ì ììµëë€. [...]
ì ë Ʞ볞ì ìŒë¡ íŽí¹ì íì§ ìê³ íší€ì§ìì ê±°ì íŽí¹íì§ ìêž° ë묞ì(ëë¶ë¶ì ì¬ëë€ìŽ ì¶ìž¡íë ê²ì²ëŒ) ì€ë¥ì 90%ë ëŽ ì€í¬ëŠœížìì, 9%ë íší€ì§ìì, 1%ë Ʞ볞ìì ìì íŽìŒ í©ëë€. íšì륌 ížì¶íë ë° ì€ì륌 í ê²œì° ì€ë¥ê° ë°ìí êž°ë°ìì ì íí ì íìê° ììµëë€. ìŽìšë ìì íêž° ìíŽ ê±°êž°ì ê°ì§ ìì ê²ìŽêž° ë묞ì ìœë륌 ìì íŽìŒ í©ëë€.
ë°ëŒì ëë¶ë¶ì ê²œì° ê·ž ìŽíì 몚ë í목ì ì§êžì ìì íê² ë¬Žìí ì ìêž° ë묞ì ìœë륌 ìŽëìì ëšêžžì§(ê·žëŠ¬ê³ íší€ì§ ìœë륌 ìŽëìì ë ë ì§) 볌 ì ìë ìê°ì ëì°ë¯žì ê°ì¬ë늜ëë€. ìììŽ ìë ê²œì° --------------------------------------------
ëë 묎ììžê°? ê·ž ì€ 2-3ê°ë§ ììŽìŒ í©ëë€.
몚ëì ìììŽ ì§ì ëë©Ž Ʞ볞/ìœìŽë¥Œ ì ìžíê³ ììì ì§ì íì§ ìììŒ í©ëë€.
ëë ì€ì ë¡ ê°ì 몚ëìŽ ê°ì ë°©ììŒë¡ ìì¹ ëê³ ìììŽ ìííë ì€íìŒì ì죌 ì¢ìí©ëë€.
ëë êŽì°®ì. ë§ì ììì ì¬ì©í ìì ìŽëŒë©Ž ê·ž ììì ì¬ì©íŽìŒ íë€ê³ ìê°í©ëë€. ëí ìì§ ê³µê°ì ë묎 ë§ìŽ ì°šì§íì§ ìê³ ì¬ì©ìì íší€ì§ ìœë ì¬ìŽì 겜ê³ë¥Œ ì ííë ë° ëììŽ ë©ëë€.
몚ëì ìììŽ ì§ì ëë©Ž Ʞ볞/ìœìŽë¥Œ ì ìžíê³ ììì ì§ì íì§ ìììŒ í©ëë€.
ë€, ë² ìŽì€ì ìœìŽë íì ì§ì íììŒ ì ììµëë€.
ìŽê²ìŽ 16ê°ì§ ìììŒë¡ ì벜íê² ìëíë ê²ì í¬êž°íë€ë©Ž 몚ë ìŽëŠì íŽì륌 ë§ë€ìŽ ìŒë¶ë¥Œ êž°ìµí ì ìëë¡ íë ê²ìŽ ì¢ìµëë€.
ëë Ʞ볞/ìœìŽì©ê³Œ ìžë¶ 몚ëì©ì ë ê°ì§ ììë§ ììµëê¹?
íì¬ ë²ì ìë 6ê°ì§ ë¹ íìì¡° ìµì ìŽ ìêž° ë묞ì ììì ìííë ë° í° ë¬žì ê° ììŽìŒ íë€ê³ ìê°í©ëë€.
crayon"blue",
crayon"yellow",
crayon"red",
crayon"green",
crayon"cyan",
crayon"magenta",
ë°ì ë³íë ìë€ê³ ìê°íì§ë§ VSCode(Material)ì ì 구ì±íìë ë ìŽëìŽ íì ì ëìŒíê² ì€ì ëìŽ ììŒë¯ë¡ ìŒë¶ 구ì±íìì ë°ìí ì ìë€ê³ ê°ì í©ëë€. ê·žë¬ë ì€í ì¶ì ìŽ 6ê° ìŽìì ìë¡ ë€ë¥ž ë¹êž°ë³ž ëë ë¹íì€ ëŒìŽëžë¬ëŠ¬ 몚ëì íµê³Œí ê°ë¥ì±ì ìŒë§ë ë©ëê¹? ë¬Œë¡ íší€ì§ë ë§ì 몚ëì ìœë륌 ì¬ì©íì§ë§ íëì í¹ì ì€íìë ê·žë ê² ë§ì§ ìììŒ í©ëë€. ì ìŽë ì€í ì¶ì ì íŽë í ë ìì 충ëìŽ ìëëŒë í° ë¬žì 륌 ìŒìŒí€ì§ ìììŒ í©ëë€.
ê·žë° ë€ì 몚ë ìŽëŠì íŽì륌 ë§ë€ìŽ ìŒë¶ë¥Œ ìêž°íë ê²ìŽ ì¢ìµëë€.
ìŽê²ì ì€ì ë¡ ìŒì¢ ì íë¥í©ëë€.
ìŽ ìì
ì íë ì¬ëë€ì 볎ë ë°ê°ìµëë€.
íšì ìŽëŠì ì¬ë°ë¥ž ì ë ¬ìŽ ìŽë»ê² 볎ìŽëì§ ìê³ ì¶ìµëë€.
[1] get_ticklabels(code_lowered::...
[2] get_ticklabels(real::AbstractPlotting
[3] #105(mtime::
[4] OnUpdate(vecormat::
[5] #setindex!#5(atexti::
ë
[1] get_ticklabels(code_lowered::...
[2] get_ticklabels(real::AbstractPlotting
[3] #105(mtime::
[4] OnUpdate(vecormat::
[5] #setindex!#5(atexti::
[6] setindex!(mapslices
ë§ì ê³µê°ì ëë¹íì§ ììŒë©Žì íšì ìžìê° ììëë ìì¹ë¥Œ íì íê³ íšì ížì¶ 첎ìžì 구묞 ë¶ìíë ë° ëìì ì ê³µíë ê²ìŽ ëìŒë¡ ë ì¬ìž ì ììµëë€. ì¬ì í ìììŒë¡ ì§ìíŽìŒ í©ëë€. ê·žë ì§ ììŒë©Ž ìì¹ ì 볎ì ìžìê° ëªšë ê²ì ìµì¬ìí¬ ê²ì ëë€.
ê·žë° ë€ì 몚ë ìŽëŠì íŽì륌 ë§ë€ìŽ ìŒë¶ë¥Œ ìêž°íë ê²ìŽ ì¢ìµëë€.
ìŽê²ì ì€ì ë¡ ìŒì¢ ì íë¥í©ëë€.
ì€, ìë , ì§ì ì²ë¡ì, ëŽ ì€ë ì¹êµ¬...
ê·žë° ë€ì 몚ë ìŽëŠì íŽì륌 ë§ë€ìŽ ìŒë¶ë¥Œ ìêž°íë ê²ìŽ ì¢ìµëë€.
ëë emacsê° IRC ëë€ìì ëíŽ ì íí ê·žë ê² íëë¡ íìµëë€. ëªëª ì¹êµ¬ë€ìŽ ê°ì ìì í ë¹ë°ìêž° ë묞ì ì ëì§ ììê³ ë¬Žìë³Žë€ íŒëì€ë¬ìì ê²°êµ ì¹êµ¬ë€ì ìíŽ ìì íë ìœë©íê² ëììµëë€. ëë ê·ž êžžì ë°ëŒê°ë ê²ì ê¶ì¥íì§ ìì§ë§ ê·žê²ìŽ ë©ì§ë€ê³ ìê°í©ëë€. ê° ìœë ì í(ì: Julia, íší€ì§, ê°ë° íší€ì§, ì¬ì©ì)ì ëíŽ ìì ì§í©ì ì€ìŽë ê²ìŽ ë ì ì©íŽ 볎ì ëë€.
ëë ìŽê²ì ìííë ížì§êž° ì 구ì±íì ì°©ë¥íìŒë©° ì ë¹í ì ì©í©ëë€. ê·žë ì§ ììŒë©Ž íëììŒ ì ìë 몚ë ë³ìë 묞ììŽ ë° í€ìë ë±ìŽ ë€ë¥ž ë€ìí ë ¹ì ë° íëì ììì ëë€. ìë§ë ìŽìì ìž ê²ì ë¹ì ìŽ ì ìí ê²ê³Œ ê°ì êŽë²ìí íŽëì€ ëŽìì ìŽì ê°ì ê²ì ëë€(ì: 빚ê°ì-볎ëŒìì íì€ ëŒìŽëžë¬ëŠ¬, ë ¹ì-íëììŒë¡ ë€ìŽë¡ë, 죌í©ì-ë žëììŒë¡ ê°ë°, íì êž°ë°). ëë ìŽê²ì ë묎 ë§ì ìì ì ëë€!
ë ë€ë¥ž ë°ë³µ: ëë 몚ë ëŽë¶ì ìµìíì§ ìêž° ë묞ì 몚ë ê²ìŽ ëìê² ì죌 íŽí€íê² ë껎ì§ì§ë§ ê±°êž°ì ë³ì ìŽëŠì ê°ì žì€ë €ê³ íìµëë€. ììì ìŽë»ê² í ë¹íŽìŒ íëì§ë ë Œìì ì¬ì§ê° ìì§ë§ ìŒë°ì ìŒë¡ êžì ì ìž ë°ìì ì»ì ê² ê°ìì 몚ëì ë€ì ì±ìíìµëë€. ê·žë¬ë ìììŒë¡ ìžíŽ í í목ì 몚ëìŽ ë€ì í목ì êž°ë¥ ìŽëŠê³Œ ìœê° 충ëíë ëëìŽ ëëë€. ê·žëì ì€ ë°ê¿ì ëì íìµëë€. ë¬Œë¡ ëªšë ê²ì ë êžžê² ë§ë€ì§ ë§ ì¶ê° íží¡ ê³µê°ê³Œ ì ëª ëê° ë§ìì ëëë€.
ë§ì§ë§ ìíìŽ ë§ìì ëëë€. ë§€ì° ëª ííê³ ìœêž° ìœìµëë€. :)
ìëë 몚ëëª ëì "@"ì 몚ëìì ì ì©íì¬ íšìëª ê³Œì 충ëì ì€ìŽê³ , íì ì ê°ì¡°íì¬ ê³µë°±ì ë£ì§ ìê³ ë 겜ë¡ë¥Œ ì¢ ë ìœê² 구ë¶í ì ìëë¡ íë ì€íì ëë€. ì€ê³œ.
@jkrumbiegel ë©ì§ë€ì . ëŽ ìžììì ìŽê²ìŽ íìí©ëë€.
ëë ê·ž ë¶ëë¬ìŽ ëžë£šì€ê° ì¢ì
@jkrumbiegel ì¢ìµëë€ . @ êž°ížê° íìíì§ ì ëªšë¥Žê² ìµëë€. êž°ížê° ììŒë©Ž ë 깚ëíŽ ë³ŽìŒ ì ììµëë€. íŽë¹ ì ë³Žê° ë¬Žììžì§ ì€ëª
íë €ë©Ž Jeffê° ì ìí ëë¡ ìì±íë ê²ìŽ ì¢ìµëë€.
in MakieLayout at ~/.julia/packages/MakieLayout/COfBu/src/lineaxis.jl:372
@jkrumbiegel ë©ì§ë€ì ! íìŒ ìŽëŠ(ì 첎 겜ë¡ê° ìë)곌 ì€ ë²ížë§ ê°ì¡° íìíë ë°©ë²ìŽ ììµëê¹? ì¡°êž ë ë°ì ê·žë ìŽ?
ì¬ëì€ë¬ìŽ! ì ë ì€ì ë¡ ì€ ë°ê¿ì ì ë§ ì¢ìí©ëë€. ìê°ì ìŒë¡ ì ë§ ëììŽ ëë©° ì€í ì¶ì ìŽ ë묎 êžžìŽ ìŽìšë ì€í¬ë¡€íŽìŒ íë 겜í¥ìŽ ììµëë€. ì€í¬ë¡€ì ìœê° ì€ìŽë ê²ë³Žë€ ëª íí ê²ìŽ ì¢ìµëë€.
ê°ì¡° íìë ::
ë íë¥í©ëë€. 묞ì ìì¹ì ëíŽ ë§€ê°ë³ì 목ë¡ì ê° ë¬žìì ì 볎 ëŽì©ì 볎ì¬ì£Œë 곡ì ì ê·žë €ìŒ íë ê²œì° ::
ë íŽë¹ 곡ì ì ë¡ì»¬ ìµëê°ì ì íí íìí©ëë€. ìŽëŠì ìŒìªœìŒë¡, ì íì ê°ì¥ ì€ìí ë¶ë¶ì ì€ë¥žìªœìŒë¡ 볌 ì€ ìëë€. ê·ž íìë ì 볎 ìœí
ìž ë§ ìì ë©ëë€.
ëë ìŽ ì견ì ëìíì§ ììµëë€. ê°ì¡° íìë ì€ìí ê²ì ê°ì¡°íì¬ ëìŽ ë¬Žìì ìœìì§ ì ì ìëë¡ íŽìŒ íë©° :: íì€í ëŽê° ìœìŽìŒ í ì€ìí ê²ì ìëëë€. ê·žëë¡ ëë©Ž í°ììŽ ëëŽí ì§ì íëìë³Žë€ íšì¬ ë ëì ëëë€. 맀ê°ë³ì륌 구ë¶íë ê²ì ìžì ìŽëŠì í°ììŒë¡ íë©Ž ë ëª
ííŽì§ëë€(ìë§ë ëª
ëª
ë ìžìê° ìë 겜ì°ë¥Œ ì ìžíê³ , ìŽ ê²œì° ::
ë ìžì륌 구ë¶íêž° ìíŽ í°ììŒë¡ íìë ì ìì). ì€ ë²ížë ë§ì°¬ê°ì§ì
ëë€. ì€ ë²ížë³Žë€ íìŒ ìŽëŠì ê°ì¡°íê³ ì¶ìµëë€.
ìììŽ ì§ì ë íší€ì§ ìŽëŠì ê°ì¥ ì€ìí êž°ë¥ ìŽëŠì ê°ëŠŽ ìíìŽ ìì§ë§ êµµì êžêŒŽê³Œ ì€ ë°ê¿ìŒë¡ ë íší€ì§ ìŽëŠì ìŽë¬í ìíì ì€ì ë¡ ì íí©ëë€. ìíìµëë€!
íìê² ë§ë€êž° ì ì ::ì ëíŽ ë§ìŽ ìê°íìµëë€. ë¬Œë¡ ìžì ìŽëŠê³Œ ì íì ì€ì ì 볎ìŽë¯ë¡ ê°ì¡° íìëìŽìŒ íë€ê³ ìê°í ì ììµëë€. ê·žë¬ë ê·žê²ë€ì ê°ì¡°í ë ëì ê°í ìžìì ê·žê²ë€ìŽ ë¹ì ì 죌ì륌 ì구íë€ë ê²ì ëë€. ê·žë¬ë 몚ë ìŽëŠê³Œ ì íì ìœë ê²ì ì€ìíì§ ììµëë€. í¹ì êž°ë¥ìì ìíë ê²ì ì°Ÿì ì ììŽìŒ í©ëë€. ì€í ì¶ì ì ìœë ëšê³ë¥Œ 볎ë ë°©ë²:
ë°ëŒì ì í/ìžì ì 볎ë ìŒë°ì ìž êµ¬ì¡°ë¥Œ íì íê³ ìŽíŽí íìë§ ì¬ì©íë ê²ìŽ ì ìê°ì ëë€. ê°ì¡° íìì ëíŽ ìŽíŽíŽìŒ í í ê°ì§ë ê°ì¡° íìê° ìëì ìŒë¡ ë묞 겜ì°ìë§ í목ì ë ìœê² ì°Ÿì ì ìë ê²ì ìëëŒë ê²ì ëë€. ê·žëì :: ê°ì¡°íìê° ë°©íŽê° ëì§ ìê³ ë³ì/ì í ì 볎륌 ì°Ÿêž° ììí ëê¹ì§ 죌ì륌 ë ì ìë€ê³ ìê°í©ëë€. ê·žëŠ¬ê³ ê·ž ëšê³ìì ëë ê·ž ìŽíë ìë ì íí ì ìë ëì ê³ ëŠ¬ë¥Œ ì ê³µí©ëë€. ëë ê·žê²ìŽ ë§€ì° íšìšì ìŽëŒê³ ìê°í©ëë€.
ì°žê³ ë¡ ëªšë ìžìì ìŽëŠìŽ ìë ê²ì ìëë¯ë¡ ë³ì ìŽëŠì ê°ì¡° íìíŽë íì ì 구ë¶ëë ê²ì ìëëë€. :: íì ìë ê² ê°ìì.
ì¢ì 목ë¡ìž ê² ê°ìµëë€. ì 죌ì ë¶ë§ ì¬íì ꞎ ì í ìëª
ì 공백ì ì°Ÿë 6ë² í목ì
ëë€. ::
super-bright륌 ìžìíë©Ž ëììŽ ëì§ë§ ìœê° ìŽìíë€ë ë° ëìí©ëë€. ìžì ìŽëŠ(ëë ìë ê²œì° ìŒë¶ _1
ì늬 íìì)ì ìžìíë©Ž ìœê°ì ëììŽ ë©ëë€. ìë§ë ê°ì¥ ë°ê¹¥ìªœ ì íì ì ìì ìŒë¡ ìžìí ë€ì 몚ë ìžì륌 íììŒë¡ ìžìíë ê²ìŽ ë§ì ëììŽ ë ê¹ì?
ì€ì ë¡ ì¬ì©í ì ìë ê°ì¡° íì ìì€ì ëª ê°ì
ëê¹? :white
ë ë°ì 배겜ìì ëì ëì§ ìì ê²ì
ëë€. ì¬ì€ ìŒë°, 볌ë ë° :light_black
(ìì ì¶ê°)ë¡ ì íë ì ììµëë€. ì§êžì íšì ìŽëŠê³Œ 겜ë¡ê° êµµê² íìëìŽ ììµëë€. @error
ë±ì 겜ë¡ë light_blackìŽë©° íë¥íŽ 볎ì
ëë€.
ëë 몚ëì ê°ì¡°íêž° ìíŽ ììì ì¬ì©íë ê²ì ì¢ìí©ëë€. ìì ìí ì€ ìŒë¶ììë ë€ë¥ž í
ì€ížë³Žë€ ë ë¹ëì§ë§ ëšìí ììììë ìŽê²ìŽ ì¬ì€ì
ëê¹? ëª ê°ì§ ë€ë¥ž í
ë§ìì ì¬êž°ì "몚ë"ì ìëì ìŒë¡ ììê±°ëììµëë€(ê·žëŠ¬ê³ ::Array, ::Adjoint, ::Int
ë¶ëª
í ìµìì ìëª
).
printstyled("\nfunction", bold=true); print("(x::Array"); printstyled("{Float64,1}", color=:light_black); print(", y::Adjoint"); printstyled("{Float64,2,Array{Float64,2}}", color=:light_black); println(", z::Int64)")
printstyled(" @ ", color=:light_black); printstyled("Module", color=:blue); printstyled(" ~/.julia/dev/Package/src/Package.jl:33 \n", color=:light_black)
end
ë ë€ë¥ž ë°ë³µ: ëë 몚ë ëŽë¶ì ìµìíì§ ìêž° ë묞ì 몚ë ê²ìŽ ëìê² ì죌 íŽí€íê² ë껎ì§ì§ë§ ê±°êž°ì ë³ì ìŽëŠì ê°ì žì€ë €ê³ íìµëë€. ììì ìŽë»ê² í ë¹íŽìŒ íëì§ë ë Œìì ì¬ì§ê° ìì§ë§ ìŒë°ì ìŒë¡ êžì ì ìž ë°ìì ì»ì ê² ê°ìì 몚ëì ë€ì ì±ìíìµëë€. ê·žë¬ë ìììŒë¡ ìžíŽ í í목ì 몚ëìŽ ë€ì í목ì êž°ë¥ ìŽëŠê³Œ ìœê° 충ëíë ëëìŽ ëëë€. ê·žëì ì€ ë°ê¿ì ëì íìµëë€. ë¬Œë¡ ëªšë ê²ì ë êžžê² ë§ë€ì§ ë§ ì¶ê° íží¡ ê³µê°ê³Œ ì ëª ëê° ë§ìì ëëë€.
죌ì ìì ì¡°êž ë²ìŽë¬ì ìë ìì§ë§ ìŽê²ìŽ ìêž° ë묞ì methods
ë° methodswith
ì ì¶ë ¥ì ëíŽ ë ìì show
륌 ê°ì§ ì ììµëê¹? ê³ íµìŽêž°ë íë€.
ëí 몚ëì ììì ì íí ë
žëììŽ ìëëŒ íì-ë
žëì곌 ê°ìŽ í늿í ìììŒ ì ììµëë€. ëë startup.jl
ì ê°ìŽ íŽë¹ ììì 구ì±í ì ììµëê¹?
@jkrumbiegel ë©ì§ë€ì ! íìŒ ìŽëŠ(ì 첎 겜ë¡ê° ìë)곌 ì€ ë²ížë§ ê°ì¡° íìíë ë°©ë²ìŽ ììµëê¹? ì¡°êž ë ë°ì ê·žë ìŽ?
https://github.com/JuliaLang/julia/issues/36026#issuecomment -634481656ìŒ ì ììµëë€. ê·žë¬ë íìŒ ìŽëŠìŽ 겜ë¡ì ìŒë¶ìŽêž° ë묞ì ìœê° ìŽìíë° ì ë€ë¥ž ììì ì¬ì©í©ëê¹? ìŒë°ì ìŒë¡ 겜ë¡ë¥Œ íŽëŠíêž°ë§ íë©Ž VSCodeê° íìŒì ìŽìŽì£Œë¯ë¡ íìŒ ìŽëŠì ì€ìíì§ ììµëë€.
ìŽì ì€ì ë¡ ë ìŽì ë³µì¡í ììì ì¬ì©íì§ ìêž° ë묞ì Crayon.jlì ì¬ì©íì§ ìê² ëììµëë€. íší€ì§ ë¡ë ìê°ìë ëììŽ ë©ëë€. ì§ì íììŒë¡ ë°ì€ì ì³ì ìê°ì ìŒë¡ ìëì ìŽì§ ììŒë©Žì íìŒ ìŽëŠê³Œ ì€ ë²ížì ê°ìì±ì ëìŽë ë°©ë²ì ì°Ÿììµëë€. ì°ëŠ¬ê° ë°ì€ìŽ ê·žìŽì§ 겜ë¡/ë§í¬ì ìµìíêž° ë묞ì ê·žê²ë í©ëŠ¬ì ìŒë¡ 볎ì ëë€. í°ì ëë êž°í ê°ì¡° íìë ë묎 ê°íê³ êµµê²ë ë묎 ìœíìµëë€.
ëí, ëë ì²ìì íìŽìŒ íë ì¬ìŽíŽë¬ì 첫 ë²ì§ž ìììŒë¡ ë°ì ìììŒë¡ ì ííì§ë§ ëŽ í ë§ìì ëìŒíê² ë³ŽìŽêž° ë묞ì ì í ëì¹ì±ì§ 못íìµëë€. ìŽê²ì ì§í íëììŽ ê±°ì 볎ìŽì§ ìë í ë§ì ë ì¢ìµëë€(í ë§ì ì못ì).
ìŽ ì€íìŒì ClearStacktrace.jl
ì ë²ì 0.2ë¡ ë±ë¡íêž° ë묞ì ì¡°êž ë ìëíŽ ë³Œ ì ììµëë€.
ë ê°ì§ ì:
ì ë§ ì¢ì ìíì
ëë€.
맀ê°ë³ì ìŽëŠì ë ë°ê² íê³ ì íì ë ìŽë¡ê² í©ëë€. ì íìŽ ë ë°ê³ ìŽëŠìŽ ë ìŽë¡ê² íë ê²ë³Žë€ ê·žë° ììŒë¡ ë ì 볎ìŽê±°ë ë ì ìœíë ê²ìŒë¡ ëíë¬ìµëê¹?
ì, ìŒë°ì ìŒë¡ ì íìŽ íšì¬ ë êžžêž° ë묞ì ë ê°ë³ê² ë§ëë ë° ëììŽ ëì§ ììµëë€.
묎ìì ìê°:
ìŽ ëªšë ê²ìŽ ì§êž ì°ëŠ¬ê° ê°ì§ê³ ìë ê²ë³Žë€ íšì¬ ë«ìµëë€...
ìŽì ì€ì ë¡ ë ìŽì ë³µì¡í ììì ì¬ì©íì§ ìêž° ë묞ì Crayon.jlì ì¬ì©íì§ ìê² ëììµëë€. íší€ì§ ë¡ë ìê°ìë ëììŽ ë©ëë€.
ìë¹í ë¡ë ìê°ìŽ ë°ìíìµëê¹? ê·žê²ì ë륌 ìíŽ êœ€ 빚늬ë¡ëë©ëë€.
julia> <strong i="8">@time</strong> using Crayons
0.014410 seconds (22.60 k allocations: 2.274 MiB)
ìŽ ë²ì ì íë¥í©ëë€. ìŽê²ì Baseì ë£ê² ìµëë€.
ëì: ê·žë¥ ë§ì§ë§ ë²ì ìŒë¡ í©ìë€.
@jkrumbiegel ì¬êž°ìì 몚ë ìì ì ìííŽ ì£Œì ì ê°ì¬í©ëë€. ì°ëŠ¬ê° ìííŽ ë³Œ ì ìë ë²ì ìŽ ìë€ë ê²ì ì¢ì ìŒì ëë€...
ê·žëŠ¬ê³ í¬í¬: rand(5) .* rand(7)
íë¬ì€ ì€ë¥ê° 35ì€ì ì°šì§íë€ë ì ìŽ ì¡°êž ê±±ì ëë ê² ê°ìë°ì? ê·žëì https://github.com/mcabbott/ClearStacktrace.jl/tree/milder 륌 ë§ë€ìŽ https://github.com/JuliaLang/julia/issues/36026#issuecomment -635294818ì ë ë§ì ìììŽ ììµëë€.
íì¬ ì€í ì¶ì ìžììì íŽë¹ ìì íë ì 8-11ì íìëì§ ììµëë€(REPLì ìŒë¶ìŽë©° 몚ë REPL ì€í ì¶ì ì ìì).
ì€ì ë¡ ìŽê²ì íë¥íê² ê°ì ëììµëë€. ê·žë¬ë ì¬ì í 8ì€(ì€í ì¶ì ë§ íŽë¹)ìì 20ê°(ClearStacktrace 0.2)ë¡ ìŽëí©ëë€. ê·žê²ìŽ ìŒë§ë ììì§ì ë¹ì ì ì늬륌 ìì§ ìë ê² ì¬ìŽìë ìœê°ì ì 충ì ìŽ ììµëë€.
겜ë¡ë ëí ìë£ìì íšì¬ ë 컎í©ížíê² ìžìë©ëë€ ./broadcast.jl:495
ëì //Applications/Julia-1.5.app/Contents/Resources/julia/bin/../share/julia/base/broadcast.jl:495
,ìŽ ëí ë¹ ëŒìžì ëí íìì±ì ê°ììí¬ ê²ìŽë€.
Ʞ볞 겜ë¡ë íŽëŠí ì ìëë¡ ìëì ìŒë¡ íì¥ë©ëë€. ClearStacktraceìì ë¹íì±íí ì ììµëë€. ê°íì ì¢ìíì§ ìë ì¬ëë€ì ìíŽ ê°íì ì í ì¬íìŒë¡ ë§ë€ ìë ììµëë€. í겜 ë³ì ìŒ ì ììµëë€.
ê·žëŠ¬ê³ ì ë ë³ê²œëì§ ìë ë§ì§ë§ ëª íë ìì ìëŒëŽë êž°ë¥ì ìŒë¶ë¥Œ ë³µì¬íë ê²ì ëì¹ ê² ê°ìµëë€.
ìŽì ì€ì ë¡ ë ìŽì ë³µì¡í ììì ì¬ì©íì§ ìêž° ë묞ì Crayon.jlì ì¬ì©íì§ ìê² ëììµëë€. íší€ì§ ë¡ë ìê°ìë ëììŽ ë©ëë€. ì§ì íììŒë¡ ë°ì€ì ì³ì ìê°ì ìŒë¡ ìëì ìŽì§ ììŒë©Žì íìŒ ìŽëŠê³Œ ì€ ë²ížì ê°ìì±ì ëìŽë ë°©ë²ì ì°Ÿììµëë€. ì°ëŠ¬ê° ë°ì€ìŽ ê·žìŽì§ 겜ë¡/ë§í¬ì ìµìíêž° ë묞ì ê·žê²ë í©ëŠ¬ì ìŒë¡ 볎ì ëë€. í°ì ëë êž°í ê°ì¡° íìë ë묎 ê°íê³ êµµê²ë ë묎 ìœíìµëë€.
ëí, ëë ì²ìì íìŽìŒ íë ì¬ìŽíŽë¬ì 첫 ë²ì§ž ìììŒë¡ ë°ì ìììŒë¡ ì ííì§ë§ ëŽ í ë§ìì ëìŒíê² ë³ŽìŽêž° ë묞ì ì í ëì¹ì±ì§ 못íìµëë€. ìŽê²ì ì§í íëììŽ ê±°ì 볎ìŽì§ ìë í ë§ì ë ì¢ìµëë€(í ë§ì ì못ì).
ìŽ ì€íìŒì
ClearStacktrace.jl
ì ë²ì 0.2ë¡ ë±ë¡íêž° ë묞ì ì¡°êž ë ìëíŽ ë³Œ ì ììµëë€.ë ê°ì§ ì:
ìŽ ìŽì ì ëí ížêž°ì¬ ì¬ë¶ /
ìì //Applications/Julia-1.4.app/
?
ê²œë¡ ë¶í ë° ì¬ê²°í©ì ë²ê·žìŒ ì ììµëë€.
ìŽì ì€ì ë¡ ë ìŽì ë³µì¡í ììì ì¬ì©íì§ ìêž° ë묞ì Crayon.jlì ì¬ì©íì§ ìê² ëììµëë€. íší€ì§ ë¡ë ìê°ìë ëììŽ ë©ëë€.
ìë¹í ë¡ë ìê°ìŽ ë°ìíìµëê¹? ê·žê²ì ë륌 ìíŽ êœ€ 빚늬ë¡ëë©ëë€.
julia> <strong i="9">@time</strong> using Crayons 0.014410 seconds (22.60 k allocations: 2.274 MiB)
ìëì, ë² ìŽì€ì ìì ê² ê°ìì ëë¶ë¶ ì ê±°íìŽì :) ë¡ë© ìê°ì ì¶ìž¡ìŒ ë¿ì ëë€.
https://github.com/JuliaLang/julia/issues/36026#issuecomment -636912686 곌 ê°ìŽ ì€í ì¶ì íë ììŽ ë§ìŒë©Ž ë¹ ì€ìŽ ë묎 ë§ì ì ììµëë€.
í ë¡ ì ë°©íŽíì§ ìêž° ìíŽ(ë§ì§ë§ ë²ì ì íë¥íê³ í° ê°ì ì¬íì ëë€) ë묎 ë§ì ì€ ë°ê¿ì ëí 죌ì ìì 묞ì ë í°ë¯žëìì ìì í ë ì€í ì¶ì ì "ìì "ìŒë¡ ìžìíë ê²ìŽ íšì¬ ë ëì ê²ì²ëŒ 볎ì ëë€. ëë ìë https://github.com/JuliaLang/julia/pull/18228)ìì ë€ì곌 ê°ìŽ ì ìíìµëë€.
...
[3] frame
[2] frame
[1] frame
Error: Some error happened
blah blah
ê°ì¥ ì€ìí ì 볎ë ì€ë¥ ë©ìì§ ì첎ì ì€í ìëš(ì€ë¥ì ê°ê¹ì)ì í¥í íë ì ë° ì€í¬ë¡€ ììŽ íì 볌 ì ìë ììëë¡ ìžìíë ê²ì ëë€. ì§êžì ì€í ì¶ì ì ꌬ늬ë¿ë§ ìëëŒ ì€ë¥ ë©ìì§ë¥Œ 볎Ʞ ìíŽ ìë¡ ì€í¬ë¡€íŽìŒ íë 겜ì°ê° ë§ìµëë€.
ê·žë¬ë í°ë¯žëìì ë³µì¬íì¬ ë¶ì¬ ë£ì ì¹ ì¬ìŽížì ì€í ì¶ì ì ìœì ë í°ë¯žëììì²ëŒ ììì ìëë¡ ì€í¬ë¡€íë ê²ìŽ ìëëŒ ììì ìëë¡ ì€í¬ë¡€íêž° ë묞ì ë°ë ìì륌 ìí©ëë€. ìŽ ë ê°ì§ 겜ì°ì 몚ë ì¢ì ëììžì ëë€.
ê·žë¬ë í°ë¯žëìì ë³µì¬íì¬ ë¶ì¬ ë£ì ì¹ ì¬ìŽížì ì€í ì¶ì ì ìœì ë í°ë¯žëììì²ëŒ ììì ìëë¡ ì€í¬ë¡€íë ê²ìŽ ìëëŒ ììì ìëë¡ ì€í¬ë¡€íêž° ë묞ì ë°ë ìì륌 ìí©ëë€. ìŽ ë ê°ì§ 겜ì°ì 몚ë ì¢ì ëììžì ëë€.
ëë ì€ì ë¡ ë§ì§ë§ ì€í ì¶ì ì ë€ì ìžìí ì ìë ì ì ëì ClearStacktrace.jl
ì ìœë륌 ê°ì§ê³ ìììµëë€. ëë ë§€ì° êžŽ ì íì ìŒë¶ ìµë 묞ìë¡ ìë¥Žê³ ì 첎 ì ë³Žê° íìí ê²œì° ì 첎륌 ë€ì ìžìí ì ìë€ê³ ìê°íìµëë€. ê·žë¬ë ì¬ì© ì¬ë¡ë í¥ë¯žë¡ìž ê²ì
ëë€. reprint(inverted = true)
ëë reprint(html = true)
륌 ììí ì ììµëë€. ì¹ ì¬ìŽížì ë¶ì¬ ë£ì ë ììì ì ì§íë html ë²ì ì ìžìí©ëë€.
ëí ì€í¬ë¡€ ë°©í¥ìŽ 죌ìŽì§ë©Ž Ʞ볞ì ìŒë¡ ì 첎륌 ë€ì§ë ê²ìŽ í©ëŠ¬ì ìŒ ì ìë€ë ë° ëìí©ëë€.
ipython
ë íë ìì ë°ë ììë¡ ìžìíê³ ì€í¬ë¡€í íìê° ìììë ë¶êµ¬íê³ íì ì€ëª
í ì ìì ì ëë¡ íŒëì€ë¬ì ìµëë€. ìë§ë ê·žê²ì ê°ì¥ ì쪜 íë ììŽ ë§š ìì ìë gdb ë° êž°í ìì€í
ì ëí ëì ìŽì 겜í ë묞ìŽê±°ë ë€ë¥ž ì¬ëë€ë ê·žë ê² ëë ì ììµëê¹?
gdbì ëíŽ ë§íìë©Ž, ê·žë€ì ížì¶êž°ë¡ ë§€ì° êžŽ ì¶ì ì ëí í©ëŠ¬ì ìž ì룚ì ì ê°ì§ê³ ììµëë€. "ë ë§ì íë ìì ë³Žë €ë©Ž Enter í€ë¥Œ ë륎ììì€".
귞걎 ê·žë ê³ , ëë https://github.com/JuliaLang/julia/issues/36026#issuecomment -636912686ì ìµì ìê° ëììžì ì¢ìíê³ ì°ëŠ¬ê° ê·žê²ì ë³í©íë€ë©Ž ë§€ì° êž°ì ê²ì ëë€. íë ì ìì륌 ë³ê²œíê±°ë ëíí êž°ë¥ì ì¶ê°íë ê²ì ë³ê°ì 묞ì ì²ëŒ 볎ì ëë€.
íìŒ ìŽëŠê³Œ êŽë šíì¬ ëë ì°ëŠ¬ê° ê²°êµ í°ë¯žë íìŽíŒë§í¬ OSC ìíì€ë¥Œ ì¬ì©í ì ìꞰ륌 í¬ë§í©ëë€( ì, í°ë¯žëì íìŽíŒë§í¬ë ìŽë ì ë ë늬 ì§ìë©ëë€! ). ì¬ì©ì ížì§êž°ê° ìŽë¥Œ ì íí ì ìë ë°©ë²ìŽ ììµëë€.
"ê°ì¥ ì쪜 íë ì"ì ì°Ÿë ê²ì ëíŽ ë§íìë©Ž, í¹ì ìžìŽë¡ ë ëŽ ìœëì ëí ì€í ì¶ì ì 맚 ì ëë 맚 ìë륌 ëŽìŒ íëì§ êž°ìµí ì ìì ì ëë¡ ìì
곌ì ìì 충ë¶í ìžìŽë¥Œ ì¬ì©í©ëë€. ê·žëì ê²°êµ ëŽê° ìžìíë íìŒ ìŽëŠì 볌 ëê¹ì§ íìŒ ìŽëŠì 볎멎ì ì€ìºí©ëë€. ì¬êž°ì íìë ë°ì€ìŽ ëììŽ ëë¯ë¡ ìŽë ë¶ëª
í ê°ì ì¬íì
ëë€. ê·žë¬ë ëë ì¬ì í ìì ëë íì륌 ëŽìŒíëì§ ë¶ë¥Œ ììë ì¢ì ë°©ë²ìŽ ìëì§ ê¶êží©ëë€. ìì¹ì ìŒë¡ í 쪜 ëì YOUR CODE HERE
륌 ìžìíê³ ë€ë¥ž 쪜 ëì OTHER CODE HERE
륌 ìžìíë©Ž ëììŽ ëì§ë§ ê·žë€ì§ ì°ìíŽ ë³ŽìŽì§ë ììµëë€.
https://github.com/JuliaLang/julia/pull/36134 ìì Baseì PRì íìµëë€.
ëŽê° ë§í ììë í ìëíì§ë§ ë³í©ì ì€ë¹íë €ë©Ž ëììŽ íìí©ëë€.
ì í 맀ê°ë³ì륌 ìëµíë ë°©ë²ìŽ ììµëê¹? ì°ëŠ¬ê° ì죌 볎ë 묞ì ë DiffEq, ForwardDiff ë±ì ì í 맀ê°ë³ìì ììŽ ë¬žì 륌 ... ìŽë µê² ë§ë€ ì ìë€ë ê²ì
ëë€. Ʞ볞ì ìŒë¡ Dual
ëŒê³ íë©Ž ì í 맀ê°ë³ìë¡ ìžíŽ ë€ë¥ž ë©ìëì ëì€íšì¹ê° ìë 겜ì°ë¥Œ ì ìžíê³ ë ëŽê° ìœì ëë¶ë¶ì ì€í ì¶ì ìì ë
žìŽìŠë¥Œ 90% ì€ìŒ ì ìë€ê³ ìê°í©ëë€. ë€ë¥ž 겜ì°ìë @timholy ì ì ììŽ ì€ì ë¡ íìí ê²ì
ëë€. ìŒë°ì ìŒë¡ ì íì ë§ë€ê±°ë ì í 맀ê°ë³ì륌 ìŒì¹ìí€ë ê²ìŽêž° ë묞ì
ëë€.)
êž°ì¡Ž ì í ë³ì¹ì íŽë¹íë ê²œì° ìŽì ìëìŒë¡ ì¬ëŒì§ëë€(#36107). ê·žë ì§ ììŒë©Ž ê°ë¥í 컎íìŒ ì±ë¥ ë³ëª© íìì ëíëŽë¯ë¡ ì¡°ì¬í ê°ì¹ê° ììµëê¹?
ìŽì ìë£ëììµëë€.
ìŽë€ ì¬ëë€ìê²ë 3íìŽì§ì ìžìë ì©ì§ê° íìí ì íì ìžìí ë ëë¶ë¶ì ì¬ëë€ìŽ íŒëì€ë¬ì íë¯ë¡ ìë§ë ìµížìžíŽìŒ í ê²ì ëë€. ëë ê·žê²ì ëíŽ ë Œìíêž° ìíŽ ë€ë¥ž 묞ì 륌 ìŽ ââê²ì ëë€.
https://github.com/JuliaLang/julia/issues/36517 ìì ê³ì
ê°ì¥ ì ì©í ëêž
ë ë€ë¥ž ë°ë³µ: ëë 몚ë ëŽë¶ì ìµìíì§ ìêž° ë묞ì 몚ë ê²ìŽ ëìê² ì죌 íŽí€íê² ë껎ì§ì§ë§ ê±°êž°ì ë³ì ìŽëŠì ê°ì žì€ë €ê³ íìµëë€. ììì ìŽë»ê² í ë¹íŽìŒ íëì§ë ë Œìì ì¬ì§ê° ìì§ë§ ìŒë°ì ìŒë¡ êžì ì ìž ë°ìì ì»ì ê² ê°ìì 몚ëì ë€ì ì±ìíìµëë€. ê·žë¬ë ìììŒë¡ ìžíŽ í í목ì 몚ëìŽ ë€ì í목ì êž°ë¥ ìŽëŠê³Œ ìœê° 충ëíë ëëìŽ ëëë€. ê·žëì ì€ ë°ê¿ì ëì íìµëë€. ë¬Œë¡ ëªšë ê²ì ë êžžê² ë§ë€ì§ ë§ ì¶ê° íží¡ ê³µê°ê³Œ ì ëª ëê° ë§ìì ëëë€.