ã¿ã€ãã«ããã¹ãŠãç©èªã£ãŠããŸãã ã¹ã¿ãã¯ãã¬ãŒã¹ã衚瀺ããã®ã«é©ãã圢åŒãèŠã€ãããšæããŸãããã¹ãŠã®ãŠãŒã¶ãŒãããããæ©æµãåããããšãã§ãããšæããŸãã çŸåšClearStacktrace.jlã«ãããè²ã¯Crayons.jl
ã«äŸåããŠããŸãã
ãã®PR察å¿ã«ããããã«äœãã§ãããç¥ãããã§ãã Julia BaseãREPLã«ã©ãŒãã©ã®ããã«åŠçããããã©ã®ã«ã©ãŒã䜿çšã§ãããã Crayons
ãªãã§ã©ã®ããã«ã¢ã¯ã»ã¹ããããªã©ã¯ããããŸããããŸããã·ã¹ãã åºæã®è€éãªã¹ã¿ãã¯ããããã©ãããããããŸãããç§ãèŠèœãšããŠããçè·¡ãããã¯WindowsãšMacã®ãã·ã³ã ãããã¹ãããŠããŸãã
åºæ¬çãªèãæ¹ã¯ãé¢æ°ãã¢ãžã¥ãŒã«ã眲åã®3ã€ã®åãæã€ããšã§ãã é¢æ°ãšã¢ãžã¥ãŒã«ã¯åºæ¬çã«åžžã«æ°Žå¹³æ¹åã«REPLã«åãŸãå¿ èŠããããŸããã眲åã¯éåžžã«é·ããªãå¯èœæ§ããããããREPLã®ãµã€ãºãå€æŽãããšãã«ãã®ãŸãŸã§ãæ°ããè¡ã«ãªãŒããŒãããŒããããšãã§ããŸãïŒããè€éã§ããè匱ãªããŒãã«ã¬ã€ã¢ãŠããšæ¯èŒããŠïŒã ã³ãŒããã¹ã¯ããããæ°ããè¡ãååŸããé·ãããå Žåã¯ãªãŒããŒãããŒããããšãã§ããŸãã ããã«ãããAtom / VSCodeãªã©ã®ã¯ãªãã¯å¯èœãªãªã³ã¯ããã®ãŸãŸä¿æãããŸãã
åèãŸã§ã«ãREADMEããã®æ¯èŒã®ååŸã以äžã«ç€ºããŸãã
åïŒ
åŸïŒ
ããã¯æ¬åœã«ãããšæããŸãã ãŸãã¯ãå°ãªããšããBaseã§ã®ããã©ã«ãã®ã¹ã¿ãã¯ãã¬ãŒã¹ã®å°å·ãæ¹åããçž®å°ããŒãžã§ã³ãããããŸããã
ç§ã¯ãã¹ãŠè³æã§ãã ç§ãåŸãããªãäž»ãªãã®ã¯ã眲åã®è²ã§ãã 圌ãã¯...ã©ã³ãã ã«èŠããŸããïŒ ããŸããŸãªèŠçŽ ãèŠã€ããããããããã«ããŸããŸãªè²ããããšæããŸãããå°ãå¥åŠã§ãã è²==å
¥ãåã®æ·±ãã¯ã©ãã§ããïŒ äž»ãªå¥åŠãã¯ãããšãã°Tuple{Symbol,Symbol}
ã«ãããšæããŸããããã§ã2ã€ã®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ã®æããã«ã©ãŒïŒã®ã¿ã䜿çšããŠããã掟æãªã«ã©ãŒãªã³ã°ãå°ãé£ãããªã£ãŠããŸãã
å šäœçã«è¯ãææ¡ã ãã¶ããç§ããããŸã§ã«è²ãéžæããçç±ã«ã€ããŠãããã€ãã®ã³ã¡ã³ãããããŸãã
æ°åã¯éèŠãªã®ã§éè²ã«ãªã£ãŠããã®ã§ãã°ã¬ãŒè¡šç€ºã«ããªãã§ãã ããããã ããé¢æ°åã§æ³šç®ãéããŠããããã«ãæ°åãçœãæããŸããã
ã¢ãžã¥ãŒã«ã¯ãµã€ã¯ã«ã§åè²ã䜿çšããŸããããã¯ãé¢é£ããã¢ãžã¥ãŒã«ã®ãã¬ãŒã¹ããã°ãããã£ã«ã¿ãªã³ã°ã§ãããããéåžžã«äŸ¿å©ã ãšæããŸãã ããã¯ãçŸåšã®ã¹ã¿ãã¯ãã¬ãŒã¹åœ¢åŒãšéåžžã«é¢ä¿ããããŸãã ã¢ã€ãã¢ã¯ã人ã ãæ¢ããŠãããã®ãèŠã€ããããã«ã§ããã ãå°ãªãèªãããšã匷å¶ãããã¹ãã§ãããšããããšã§ãã ïŒãããŸã§ã®åŠæ¥ã§ã¯ãäž»ã«çŒçéåãšæ³šæåã®ç 究ãè¡ã£ãŠããã®ã§ããããã®åŽé¢ã¯ç§ã«ãšã£ãŠéèŠã§ã;ïŒïŒ
眲åã®è²ã¯éåžžã«è°è«ã®äœå°ããããŸãã äžã®ã¹ã¯ãªãŒã³ã·ã§ããã®ãã®ã¯ãããŒã¯ã°ã¬ãŒãšãããã«ç°ãªãããã«éžæãããŠããŸãã åæã«ãããŸããŸãªã»ãã³ãã£ãã¯ã³ã³ããŒãã³ããèå¥ã§ããããã«ãããã£ãã®ã§ãã ãã®ããããã¹ãŠã®ã¿ã€ããšã¿ã€ããã©ã¡ãŒã¿ïŒäžæ¬åŒ§ãšã³ã³ãïŒã«ãã£ãŠè²ãåãæ¿ãããŸãã 3ã€ã®è²ããããŸããã€ãŸããåãè²ã®é£äººã2人ããããšã¯ãããŸããã 巚倧ãªå泚éã§åäžã®åèªããã¹ãŠçœã§ããå Žåãããããç解ããã®ã¯éåžžã«é£ããããšãããããŸããã ãããã«ç°ãªãè²åãã¯å€§ãã«åœ¹ç«ã¡ãŸãããèŠèŠçã«ãã¹ãŠãå°ãããããããŸãã
16è²ã»ããã«ã¯ããŒã¯ã°ã¬ãŒãšãããã«ç°ãªãè²ããªããããããŒã¹ã«å«ããããšãã§ãããã®ã§ã¯ãªãå¯èœæ§ããããŸãã æè¿ã®æŽæ°ã§ã¯ãè²ãANSIã»ãããšã¯å°ãç°ãªã3ã€ã®ã°ã¬ãŒã®è²åãã«çœ®ãæããŸããããããã§ããç§ãæšæž¬ãããã¹ãŠã®å Žæã§ãµããŒããããããã§ã¯ãããŸããã
ãŸããã¹ã¿ãã¯ãã¬ãŒã ã®è²ãšã¢ãžã¥ãŒã«ã®è²ãããã³ããŒã¯ã°ã¬ãŒãšçœã¯ãã¹ãŠã·ã¹ãã ã®è²ã§ãã ããã«è¡šç€ºãããŠããããã«ã¬ã³ããªã³ã°ããã®ã¯ãç§ã®ç¹å®ã®VSCodeããŒãã§ãã
ããã¯çŽ æŽãããããšã§ãã
åŒæ°ã®åãã¹ãã£ã³ãããšãã1ã€ãã©ãã§åæ¢ãã次ãã©ãã§éå§ããããç解ããã®ã¯ããªãé£ããããšããããããŸãã ããã§ã¯ããããã¬ãã«ã®è²ãå€ããããåŒæ°ã«çªå·ãä»ãããããããšãéåžžã«åœ¹ç«ã€å ŽåããããŸãã
[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ïŒã¢ãžã¥ãŒã«ããšã®è²ãããå Žåã¯ãã¢ãžã¥ãŒã«åã«è²ãé©çšããæ¹ãè¯ãããã§ãã
ç§ã¯ã¢ãžã¥ãŒã«åã奜ãã§ãããããã¯ãã®ææ°ã®åçã§å°ã倱ãããŸãã
ããããäžçªââäžã«ããå Žåãããããããããåãæããè²ã«ããããšã¯ç©äºãã€ãªãã§ããããïŒ ïŒãããŠãã¢ãžã¥ãŒã«ã®å¢çãè¶ããå Žæãæ確ã«ããŸããïŒãããŠããããããã¢ãžã¥ãŒã«åããã¹ã«è¡šç€ºãããŠããå Žåã¯ã代ããã«åã«åŒ·èª¿è¡šç€ºããããšãã§ããŸããããã«ãããé¢æ°ããã巊端ããã«ã©ãã«ãªååã移åããŸãã
ããã€ãã®ã€ã³ã¹ãã¬ãŒã·ã§ã³ãåŸãããã«ãã¹ã¿ãã¯ãã¬ãŒã¹ã®ãã©ãŒãããã埮調æŽããããšãæåŸã«åºãŠãããšãã®ç»åãããã€ãæçš¿ããŸãã
å€ãã®å Žåãæ£ç¢ºãªããã±ãŒãžã¯ã³ãŒãã®æ§è³ªã»ã©éèŠã§ã¯ãããŸãããã³ã¢ãžã¥ãªã¢ã䜿çšããŠããã©ã€ãã©ãªãéçºäžã®ã©ã€ãã©ãªããŸãã¯ã¹ã¯ãªããã§ããã ã³ã¢/ããŒã¹/ dev / stdlibãããã±ãŒãžãçŸåš]dev
edã®ããã±ãŒãžããã®ä»ãã¹ãŠïŒã¹ã¯ãªãã/ REPLãå«ãïŒã®4è²ã䜿çšã§ããŸãã ãããã®åºå¥ã®ããã€ãã¯ããªãæ£æçã§ãããåé¡ã¯å°ãè匱ã§ãããããã«åºã¥ããŠæ¹æ³ãçè²ãããšãïŒå°ãªããšãç§ã«ãšã£ãŠã¯ïŒäœåãªããã¹ãã衚瀺ããã«æ
å ±ãæ倧åããå°ãããŠèŠããããè²ã®ã»ãããç¶æããŸãã
ç§ã«ãšã£ãŠãè²ã¯å¢çã®å€æŽã«é¢ãããã®ã§ãããäžæ¹ã®ã¢ãžã¥ãŒã«ããã®ã³ãŒããå§ãŸããããäžæ¹ã®ã¢ãžã¥ãŒã«ãçµãããŸãã ã ããç§ã¯ãããã圌ãã«åºæã®æå³ãå²ãåœãŠãªãã§ãããã äžæ¹ã§ãããã¯æ··ä¹±ãæããããããŸããã
ç§ã¯ãã£ââãšåçŽåããããšããŸããããã¢ãžã¥ãŒã«åããªããšããŸã圹ã«ç«ããªããªã£ãã®ã§ãããäžåºŠåãåé€ããŸããã 次ã«ãæåã«ã¢ãžã¥ãŒã«ããšã«è¡çªå·ã®ã¿ã«è²ãä»ããŸããããããã§ããã¡ã€ã«åãããŸã衚瀺ãããªããŸãŸã§ãããããã¯å€ãã®ã³ã¡ã³ããéèŠã§ãããšè¿°ã¹ãŠããŸãã ããã§ãã¢ãžã¥ãŒã«ã®è²ã§ããããçè²ããŸããã ã¢ãžã¥ãŒã«åèªäœã¯ãé¢æ°åã«è¿ãããŠãã€ãºãå€ããããããè²ä»ããããŠããŸããã
çªå·ãšãã¡ã€ã«åã®äž¡æ¹ãè²ä»ããããããŒãžã§ã³ã¯æ¬¡ã®ãšããã§ãã
ããã§ã¯ãã¡ã€ã«åã¯è²ä»ããããŠããŸãã
ãã¡ã€ã«ã®ãã«ãã¹ã«è²ãä»ããŠã¿ãããšãã§ããŸããïŒ
ããã€ãã®ã¢ã€ãã¢...
ãã¡ã€ã«åãšè¡çªå·ã¯ãããããåºå¥ããããã«2ã€ã®ã¹ããŒã¹ã䜿çšããŠäžè²«ããå Žæã«ãããŸãã
ã¹ã¿ãã¯ã¬ãã«ã®è²ãšã¢ãžã¥ãŒã«ã®è²ãäžèŽããŠãé¢é£ããç·ãèŠèŠçã«ãã¢ã«ããŸãã
ãã¡ã€ã«åãè¡çªå·ãããã³ãã¹ã¯ããã©ã¡ãŒã¿ãŒã¿ã€ããšã¯ãããã«ç°ãªãè²çžã§ãããæ··ä¹±ããããšãªãåºå¥ã§ããŸãã
[ãã®äŸã®è²ã¯ä»»æã§ããããããã®äœçœ®ãã©ã®ããã«é¢é£ããŠããããããããèããŠããŸãã
äŸã®ã¹ã¿ãã¯ã¬ãã«ãæ¬ èœããŠããŠãæåŸã®é
ç®ã®ãã©ã¡ãŒã¿ã¿ã€ããªã¹ããççž®ãããŠããã®ã¯ãäŸãæåã§å
¥åããããã§ãã]
誰ããããã§éã³ããå Žåã«åããŠãäžèšã®ãµã³ãã«ãçæããããã«äœ¿çšãããã³ãŒãïŒ
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å ã®çªå·ã§ãã¬ãŒã¹ãšã³ããªãã¹ã¿ãã¯ããæ¹æ³ãããããšã¯ç¥ã£ãŠããŸãããããã¯ç§ã®æèŠã§ã¯ãªã³ã¯ãã¯ãªãã¯ãããããã¯ããã«çŽæçã§ã¯ãããŸããã
ããšãã°ã次ã®ããã«ãè¡æ å ±ããã°ã·ã¹ãã ã§å°å·ãããæ¹æ³ãçµ±äžããæ©äŒãå©çšããããšã¯çã«ããªã£ãŠããŸãã
ãŸãããã®ã³ã°ã·ã¹ãã ã¯ããŒã ãã£ã¬ã¯ããªãçž®å°ããããšã«æ³šæããŠãã ãã
julia> include("foo.jl")
â Warning: foo
â @ Main ~/julia/foo.jl:1
ããã§ã®ææ¡ã«ã¯2ã€ã®ã³ã¢ã¢ã€ãã¢ããããšæããŸãã
ãããã£ãŠããããã®äž¡æ¹ã®ã¢ã€ãã¢ã䜿çšãããããå°ãä¿å®çãªè©Šã¿ã次ã«ç€ºããŸãã
å€æ°åãè¿œå ãããã¢ãžã¥ãŒã«åã ãã«è²ãä»ããããããŒãžã§ã³ïŒãã ãããã以å€ã®å Žåã¯@info
ããã¹ãåºåããæ¹æ³ãšäžèŽããŸãïŒïŒ
ããã«ã¯ããŸãé·ãåã·ã°ããã£ã¯ãããŸãããããããããã®ãããªå€æ°åã䜿çšãããšïŒå¯èœã§ããã°ïŒãååŒæ°ã®æãå€åŽã®åãç°¡åã«èŠã€ããããšãã§ããŸãã
å©çšå¯èœãªãã¥ãŒãã©ã«ã®ã¬ãã«ã3ã€ããå ŽåïŒå€ªå/éåžž/ç°è²ãªã©ïŒããã¡ã€ã«ãã¹ã眲åããã軜ãå°å·ããããšïŒIMOïŒã¯ãç©äºãäžç·ã«å®è¡ãããã®ãé²ãè¯ãæ¹æ³ã®ããã§ãã ïŒããã¯@info
ãè¡ãããšã§ããããŸããïŒ
@timotaularsonã®ã³ãŒããé©å¿ã
ãã㊠printstyledïŒ "\ njulia>"ãcolor =ïŒgreenïŒ printlnïŒ "fïŒïŒ"ïŒ printstyledïŒ "" "ãšã©ãŒïŒDimensionMismatchïŒ" Aã®å¯žæ³ã¯ïŒ1,2ïŒã§ãããBã®å¯žæ³ã¯ïŒ3,4ïŒ "ïŒ" ""ãcolor =ïŒlight_redïŒ printlnïŒ "\ nStacktraceïŒ"ïŒ forïŒidxãerrïŒin enumerateïŒerrorsïŒ 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ïŒ "ã"ãcolor =ïŒnormalïŒ printstyledïŒrandïŒ 'a'ïŒ 'z'ïŒ^ 2ãcolor =ïŒlight_blackïŒ printstyledïŒ "::"ãcolor =ïŒnormalïŒ printstyledïŒ "$ t"ãcolor =ïŒnormalïŒ çµãã printstyledïŒ "ïŒ"ãcolor =ïŒnormalïŒ printlnïŒïŒ printstyledïŒ "@"ãcolor =ïŒlight_blackïŒ printstyledïŒerr [6]ãcolor = mcïŒïŒã¢ãžã¥ãŒã« printstyledïŒ "$ïŒerr [7]ïŒ/ $ïŒerr [5]ïŒïŒ$ïŒerr [4]ïŒ"ãcolor =ïŒlight_blackïŒïŒãã¹ printlnïŒïŒ çµãã çµãã
ããã§ã®ææ¡ã«ã¯2ã€ã®ã³ã¢ã¢ã€ãã¢ããããšæããŸãã
* 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ã§ãç§ãããªãã®ç¶æ³ãç¥ã£ãŠããããšãç¥ã£ãŠã
ç§ã«ãšã£ãŠãæåŸã®ææ¡ã¯ééããªãçŸç¶ãæ¹åããããšã§ãã ç§ãèããŠãã2ã€ã®ããšïŒ
[ 8]
[ 9]
[10]
[11]
@
ãæŽåããŸããç§ã¯ããã奜ãã§ããç§ãã¡ã¯ã©ããã«å°éããŠãããšæããŸãã è²ãæ éã«æ±ãããšã¯ããã€ã¯ã·ã§ãã£ã³ã°ã®è¡šé¢ç©ãå°ãªããªãã ãã§ãªãã誰ãã®ç«¯æ«ã§è²ãèªããªããªããªã¹ã¯ãæžãããããåžžã«è¯ãããšã§ãã
ééã空ããã®ã¯è¯ãããšã§ãããæ®å¿µãªããæ§æf (...)
ã¯æ瀺çã«èš±å¯ãããŠããªããããã¹ããŒã¹ãåé€ãããã芪ãåé€ããå¿
èŠããããšæããŸãã
ææ°ã®ãµã³ãã«ã¯äžè¬çã«èŠæ ããè¯ãã§ãããç§ã¯2çªç®ã®ã¢ã€ãã¢ã§ãã
å¯èœã§ããã°ã眲åãé·ããšçœ²åãšæ··ããåãåŸåããããããç·æ å ±ãç®ã§ç¢ºèªããããã®äœããã®ãããã¯ãããããšäŸ¿å©ã§ãã
ãããŠãããã¯ãå¥ã®è²ãŸãã¯ïŒã§ããã°ïŒæããã§ããããšãé¡ã£ãŠããŸãã
ã¢ãžã¥ãŒã«ã®è²ã®ãµã€ã¯ã«ãå®è¡ããããšãã§ããŸãããã¹ã¿ãã¯ã¬ãã«çªå·ã®äž¡åŽã®[]ã«ã®ã¿é©çšãããããäœããã®çç±ã§è²ã衚瀺ãããªãå Žåã§ããã»ãšãã©å€±ãããŸããã
ãã¶ãããªãã¯ã¢ãžã¥ãŒã«ã®è²ã®ãµã€ã¯ã«ãè¡ãããšãã§ããŸãããããã[]ã«ã®ã¿é©çšããŸã
ãã£ãã ãã§ã³ã³ãã©ã¹ãã®ããéšåã«ãããšè²ãããèŠããªãã®ã§ãããŸãããŸããããªããšæããŸãã
æ§æfïŒ...ïŒã¯æ瀺çã«èš±å¯ãããŠããŸãã
ã³ã³ãã©ã¹ãã®éããããã®ã§ãã¹ããŒã¹ããªããŠãããŸããããšæããŸãã
å¯èœã§ããã°ãåç·æ å ±ã®ããã«ããªãã®ç®ã«äœããã®ãããã¯ãããããšããã§ããã
ç§ã¯åæããŸããè¡çªå·ãç°è²ã®ãŸãŸå€ªåã®ãŸãŸã«ããŠãããšããŸããããšæããŸããããã¯ãããããæ¢ããšãããã«ç®ç«ã€ããã«ãªããŸãããçœã«ãã次ã®ã¹ãããã¯ãç§ã®æèŠã§ã¯ããŸãã«ãããããã§ãã
ããããã¹ã¿ãã¯ãã¬ãŒã çªå·ãæããå¿ èŠããããŸã
ããªãã®äŸã®ããã«è§ãã£ãå ã«ã¹ããŒã¹ãå ¥ããŠè©ŠããŠã¿ãŸããããå°ãå¥åŠã«èŠããã®ã§ãè§ãã£ãã§å²ãŸããæ°åãæ£ããæããŠããŸãã ããã¯ããªãããŸããããšæããŸãã
ããããã¹ãŠã®ã¢ã€ãã¢ãçµã¿èŸŒãŸããææ°ããŒãžã§ã³ã¯æ¬¡ã®ãšããã§ãã
ãããŠããŒãã¹ãšããŠããããïŒã©ã³ãã ãªïŒå€æ°åã§ã©ã®ããã«èŠãããã瀺ããŠããŸãã ç¹°ãè¿ããŸããããããã®å€æ°åã¯ãã¹ãŠæ³šæãåŒãããã«æŠãã¹ãã§ã¯ãªãããã倪åã®ç°è²ã䜿çšããŠããŸãããããããæ¢ããšå°ãèå¥ã§ããã¯ãã§ãã
ç§ã¯ãããã©ãã«åãã£ãŠããã®ãã奜ãã§ãã ã¢ãžã¥ãŒã«åã®ããçš®ã®åŒ·èª¿è¡šç€ºã«æ祚ãããã ãã§ãã ç§ã¯å®éãåãã¢ãžã¥ãŒã«ãåãããã«è²ä»ããããè²ã埪ç°ããã¹ã¿ã€ã«ããšãŠã奜ãã§ãïŒ2ã€ã®ã¹ã¿ãã¯ãã¬ãŒã¹ã©ã€ã³ãã¢ãžã¥ãŒã«éã®ã°ã©ããšããžãšããŠé£æ¥ããŠãããšèãããšãããã«ã°ã©ãã®è²ã®åé¡ããããŸãïŒã ãã ããæ®å¿µãªããããã®è²ã®æå³ã¯ããªãæçœã§ã¯ãããŸããã ããããããã¹ãŠã®ã¢ãžã¥ãŒã«åã1ã€ã®è²ã§çè²ããŸããïŒ
ãã®é 眮ã¯ç§ã«ã¯ããèŠããŸãã
ãã¹ã眲åãšããæ確ã«åºå¥ããããšã§ãç©äºãåå²ããã®ã«åœ¹ç«ã€ãšæããŸããéèŠåºŠã®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
ç·šéïŒæãè¿ã1ã€ã®é·ãè¡ãšç»åããããŸãïŒ
ãã®ã³ã°ã䜿çšãããã®ãæ瀺çã«ãã©ãŒãªã³ã°ã§ããŸã
ããã«ã€ããŠç§ãããŸã奜ãã§ã¯ãªãã®ã¯ããŠã£ã³ããŠ/ REPLã®ãµã€ãºãå€æŽããå ŽåïŒããšãã°ãããé·ãè¡ã®ããã®ã¹ããŒã¹ãäœãããå ŽåïŒãç¹å®ã®REPLå¹ ã®ããã«ã®ã¿ååšããæ¹è¡ãããŸã転éãããªãããšã§ãïŒãŸãã¯ããã¹ããã³ããŒããŠãç°ãªãå¹ ã®ãŠã£ã³ããŠã«è²Œãä»ããŸã
ã¯ããããŒã«ãŒãé£ç¶ãããããã«æ瀺çã«ç·ãåãããšã¯ææ¡ããŸããã å®éãæãè¿ããç·ãçªç ŽãããŠãèŠãç®ãå€ããã®ã¯è¯ãããšãããããŸããã ã»ãšãã©ã®å Žåãè²ãé¢æ°åã«é¢é£ä»ããæ¹æ³ãšãæãéèŠãªèŠåºãã®ããã«èŠããã®ã§ã¯ãªããå¢çç·ã®äžéšã§ããå Žåã¯ãç®ç«ããªãããã«ããæ¹æ³ã«ã€ããŠèããŸãã
ç§ã¯è²ã奜ãã ã£ããšèšããªããã°ãªããŸããããç§ã¯ãããä¿å®çã«ããããšã®å¥œã¿ãç解ããããšãã§ããŸãã
ããããç§ã¯ç§ã®ãµããŒãã次ã®ãããªãã®ã®åŸãã«æãããã§ã
å€ãã®å Žåãæ£ç¢ºãªããã±ãŒãžã¯ã³ãŒãã®æ§è³ªã»ã©éèŠã§ã¯ãããŸãããã³ã¢ãžã¥ãªã¢ã䜿çšããŠããã©ã€ãã©ãªãéçºäžã®ã©ã€ãã©ãªããŸãã¯ã¹ã¯ãªããã§ããã ã³ã¢/ããŒã¹/ dev / stdlibãããã±ãŒãžãçŸåš
]dev
edã®ããã±ãŒãžããã®ä»ãã¹ãŠïŒã¹ã¯ãªãã/ REPLãå«ãïŒã®4è²ã䜿çšã§ããŸãã [...]
ç§ã¯ããŒã¹ã§ãããã³ã°ããŠããããããã±ãŒãžã§ã¯ãã£ãã«ãããã³ã°ããŠããªãã®ã§ïŒã»ãšãã©ã®äººãããããŠãããšæããŸãïŒããšã©ãŒã®90ïŒ ãã¹ã¯ãªããã§ä¿®æ£ããå¿ èŠãããã9ïŒ ãããã±ãŒãžã§ã1ïŒ ãããŒã¹ã§ä¿®æ£ããå¿ èŠããããŸãã é¢æ°ã®åŒã³åºããééããå ŽåãããŒã¹ã§æ£ç¢ºã«ç¥ãå¿ èŠã¯ãããŸããããšã«ããä¿®æ£ããããã«ããã«è¡ãã€ããã¯ãªãã®ã§ããšã©ãŒãã¹ããŒãããŸãããã³ãŒããä¿®æ£ããå¿ èŠããããŸãã
ã§ããããã»ãšãã©ã®å Žåããã以éã¯ä»ã®ãšããç¡èŠããŠãåé¡ãªãã®ã§ãã³ãŒããã©ãã«æ®ããŠãããïŒãããŠãããã±ãŒãžã³ãŒããã©ãã«æ®ããŠãããŒã¹ã«å
¥ãã®ãïŒãèŠèŠçã«ç¢ºèªããŠããã ããã°å¹žãã§ãã è²ã§ã¯ãªãå Žåã¯ããããã--------------------------------------------
ãäœãã§ïŒ ãããã¯2ã3åãããªãã¯ãã§ãã
ã¢ãžã¥ãŒã«ã«è²ãä»ããå Žåã¯ãããŒã¹/ã³ã¢ãçç¥ããŠè²ãä»ããªãã§ãã ããã
ç§ã¯å®éãåãã¢ãžã¥ãŒã«ãåãããã«è²ä»ããããè²ã埪ç°ããã¹ã¿ã€ã«ããšãŠã奜ãã§ã
ç§ã倧äžå€«ã§ãã ããããã®è²ã䜿ããªãããã®ããã«äœ¿ãã¹ãã ãšæããŸãã ãŸããåçŽæ¹åã®ã¹ããŒã¹ãåããããã«ããŠãŒã¶ãŒã³ãŒããšããã±ãŒãžã³ãŒãã®å¢çãèŠã€ããã®ã«ã圹ç«ã¡ãŸãã
ã¢ãžã¥ãŒã«ã«è²ãä»ããå Žåã¯ãããŒã¹/ã³ã¢ãçç¥ããŠè²ãä»ããªãã§ãã ããã
ã¯ããããŒã¹ãšã³ã¢ã¯åžžã«ããŒã¯ã°ã¬ãŒãäœãã§ãä»ã®ãã¹ãŠã®äººã«ããå€ãã®è²ãæ®ãããšãã§ããŸã:)
ããã16è²ã§å®å šã«æ©èœããããšãè«Šããå Žåã¯ãã¢ãžã¥ãŒã«åã®ããã·ã¥ã«ããŠããããã®ããã€ããèŠããŠãããšããã§ãããã
ãŸãã¯ãããŒã¹/ã³ã¢çšãšå€éšã¢ãžã¥ãŒã«çšã®2è²ã®ã¿ããããŸããïŒ
ç§ã®çŸåšã®ããŒãžã§ã³ã«ã¯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::
vs
[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ãããã±ãŒãžãdevedããã±ãŒãžããŠãŒã¶ãŒãªã©ïŒããšã«è²ã®ã»ãããæžãããæ¹ã䟿å©ãªããã§ãã
ç§ã¯ãããè¡ããšãã£ã¿ãŒã®é è²ã«ãã©ãçããŸããããããã¯é©åºŠã«äŸ¿å©ã§ããããã§ãªããã°éã«ãªãå¯èœæ§ã®ãããã¹ãŠã®å€æ°ã¯ãæååãããŒã¯ãŒããªã©ãç°ãªããç·ãšéã®ããŸããŸãªè²åãã§ãã ããããçæ³ã¯ãããªããææ¡ãããããªå¹ åºãã¯ã©ã¹å ã§ãã®ãããªãã®ã«ãªãã§ãããïŒããšãã°ã赀玫ã®æšæºã©ã€ãã©ãªãç·éã§ããŠã³ããŒãããªã¬ã³ãžé»è²ã§éçºãç°è²ã®ããŒã¹ïŒã ãŸãã¯ãããããããã¯ããŸãã«ãå€ãã®äœæ¥ã§ãïŒ
å¥ã®å埩ïŒç§ã¯ãã¹ãŠã®å éšã«ããŸã粟éããŠããªãããããã¹ãŠãéåžžã«ããããŒã ãšæããŠããŸãããããã«å€æ°åãååŸããããšããŸããã ã©ã®ããã«è²ãå²ãåœãŠããã¯è°è«ã®äœå°ããããŸãããäžè¬çã«è¯å®çãªåå¿ãåŸãããããã«èŠããã®ã§ãã¢ãžã¥ãŒã«ã®è²ãå€æŽããŸããã ããããè²ã«ãã£ãŠã¯ããããšã³ããªã®ã¢ãžã¥ãŒã«ã次ã®ãšã³ããªã®é¢æ°åãšå°ãè¡çªããŠããããã«æããŸãã ããã§ãæ¹è¡ãå°å ¥ããŸããã ãã¡ãããã¹ãŠãé·ããªããŸãããç§ã¯è¿œå ã®åŒåžå®€ãšæå¿«ãã奜ãã§ã
ç§ã¯ããªãã®æåŸã®ãµã³ãã«ã奜ãã§ããããã¯éåžžã«æ確ã§èªã¿ãããã§ã:)
以äžã¯ãã¢ãžã¥ãŒã«åã®ä»£ããã«ã@ãã«ã¢ãžã¥ãŒã«ã®è²ãé©çšããŠãé¢æ°åãšã®è¡çªãæžãããã¿ã€ãã匷調衚瀺ããŠã空çœãå°å ¥ããã«ãã¹ãå°ãç°¡åã«åºå¥ã§ããããã«ããå®éšã§ããè¡ã
@jkrumbiegelããã¯çŸããã§ãã ç§ã¯ç§ã®äººçã§ãããå¿ èŠã§ãã
ç§ã¯ãããã®æããããã«ãŒã¹ã奜ãã§ã
@jkrumbiegelãã°ãããã@èšå·ãå¿
èŠãã©ããã¯
in MakieLayout at ~/.julia/packages/MakieLayout/COfBu/src/lineaxis.jl:372
@jkrumbiegelèŠæ ããããã§ãïŒ ãã¡ã€ã«åïŒãã«ãã¹ã§ã¯ãªãïŒãšè¡çªå·ã ãã匷調衚瀺ããæ¹æ³ã¯ãããŸããïŒ ããããå°ãæããç°è²ã§ããïŒ
çŽ æŽãããïŒ ç§ã¯å®éã«æ¹è¡ãæ¬åœã«å¥œãã§ããæ¹è¡ã¯èŠèŠçã«éåžžã«åœ¹ç«ã¡ãã¹ã¿ãã¯ãã¬ãŒã¹ã¯éåžžã«é·ããªãåŸåãããããããšã«ããã¹ã¯ããŒã«ããå¿ èŠããããŸããã¹ã¯ããŒã«ãå°ãæžãããããæ確ã«ããããšæããŸãã
匷調衚瀺ããã::
ã¯çŽ æŽãããã§ãã ãã©ã¡ãŒã¿ãªã¹ãã®åæåã®æ
å ±å
容ãæåäœçœ®ã«å¯ŸããŠç€ºãæ²ç·ãããããããå¿
èŠãããå Žåã ::
ã¯ãã®æ²ç·ã®æ¥µå€§å€ãæ£ç¢ºã«ããŒã¯ããŸãã ååã«ã€ããŠã¯å·ŠåŽããã¿ã€ãã®æãéèŠãªéšåã«ã€ããŠã¯å³åŽãèŠããšããããŸãããã®åŸãæ
å ±ã®å
容ã¯åé€ãããã ãã§ãã
ç§ã¯ãã®ã³ã¡ã³ãã«åæããŸããããã€ã©ã€ãã¯éèŠãªããšã匷調ããŠãç®ãäœãèªãã¹ãããç解ã§ããããã«ããå¿
èŠããããŸãã::ã¯ééããªãç§ãèªãã¹ãéèŠãªããšã§ã¯ãããŸããã çŸç¶ã§ã¯ãçœã¯å€§èãªæ¿ãéãããã¯ããã«ç®ç«ã¡ãŸãã ãã©ã¡ãŒã¿ã®åºå¥ã¯ãåŒæ°åãçœã§è¡šç€ºããã ãã§æ確ã«ãªããŸãïŒãããããååä»ãåŒæ°ããªãå Žåãé€ããŠãåŒæ°ãåºåãããã«::
ãçœã§è¡šç€ºãããå ŽåããããŸãïŒã è¡çªå·ã«ã€ããŠãåãããšãèšããŸããè¡çªå·ããããã¡ã€ã«åã匷調ããããšæããŸãã
è²ä»ãã®ããã±ãŒãžåã¯ãæãéèŠãªãã®ã§ããé¢æ°åãèŠãé ããªã¹ã¯ããããŸããã倪åã§æ¹è¡ãä»ããŠãããšããã®ãªã¹ã¯ãå®éã«å¶éãããŸãã
::ãçœãããåã«ããèããŸããã ãã¡ãããåŒæ°ã®ååãšåã¯å®éã®æ å ±ãªã®ã§ã匷調衚瀺ããå¿ èŠããããšæããããããŸããã ãããããããã匷調ãããšãã®ç§ã®åŒ·ãå°è±¡ã¯ãããããããªãã®æ³šæãåŒã³ããããšããããšã§ãã ãããããã¹ãŠã®ååãšã¿ã€ããèªãããšã¯éèŠã§ã¯ãããŸããã ç¹å®ã®æ©èœã§æ¢ããŠãããã®ãèŠã€ããããšãã§ããã¯ãã§ãã ã¹ã¿ãã¯ãã¬ãŒã¹ãèªã¿åãæé ã確èªããæ¹æ³ïŒ
ãããã£ãŠãã¿ã€ã/åŒæ°ã®æ å ±ã¯ãäžè¬çãªæ§é ãæ¹åä»ããŠç解ããåŸã«ã®ã¿äœ¿çšããããšç§ã¯èããŠããŸãã ãã€ã©ã€ãã«ã€ããŠç解ããŠããã¹ãããšã®1ã€ã¯ããã€ã©ã€ããæ¯èŒçãŸã°ãã§ããå Žåã«ã®ã¿ãå¿ ãããç©ãèŠã€ãããããªããšã¯éããªããšããããšã§ãã ãããã£ãŠãå€æ°/åã®æ å ±ãæ¢ãå§ãããŸã§ã::ãã€ã©ã€ãã¯éªéã«ãªããã泚æãåŒãããšã¯ãªããšæããŸãã ãããŠãã®æ®µéã§ãããã¯ããªãã®ç®ã«ãžã£ã³ãããããã®ããã¯ãäžããŸãããã以äžã§ããã以äžã§ããããŸããã ããã¯éåžžã«å¹ççã ãšæããŸãã
ã¡ãªã¿ã«ããã¹ãŠã®åŒæ°ã«ååãããããã§ã¯ãªããããå€æ°åã匷調衚瀺ããŠããå¿ ãããé©åã«åé¢ã§ãããšã¯éããŸããã ::ã¯ãã€ãããã«ãããšæããŸãã
ããã¯è¯ããªã¹ãã®ããã§ããç§ã®äž»ãªäžæºã¯ãã€ã³ã6ã§ãé·ãåã®çœ²åã®ã®ã£ãããèŠã€ããŸãã ::
è¶
é«èŒåºŠã§å°å·ãããšå¹æããããŸãããå°ãå¥åŠã ãšæããŸãã åŒæ°åïŒãŸãã¯ãååšããªãå Žåã¯_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ã®å¯èœæ§ããã
è€éãªè²ãå®éã«äœ¿çšããªããªã£ããããCrayon.jlã®äœ¿çšããããŸããã ããã±ãŒãžã®ããŒãæéã«ã圹ç«ã¡ãŸãã æ¿ãç°è²ã®äžç·ãåŒãããšã§ãèŠèŠçã«å§åãããããšãªãããã¡ã€ã«åãšè¡çªå·ã®èŠèªæ§ãé«ããæ¹æ³ãèŠã€ããŸããã ãã¹/ãªã³ã¯ã«äžç·ãåŒãããŠããããšã«æ £ããŠããã®ã§ããããçã«ããªã£ãŠããããã«èŠããŸãã çœããã®ä»ã®ãã€ã©ã€ãã匷ããã倪åã匱ãããŸããã
ãŸãããµã€ã¯ã©ãŒã®æåã®è²ãšããŠæããè²ã«åãæ¿ããã®ã§ããããããããã¹ãã ã£ãã®ã§ãããããŒãã¯åãããã«èŠããã®ã§æ°ã¥ããŸããã§ããã ããã¯ãæ¿ãéãã»ãšãã©èŠããªãããŒãã«é©ããŠããã¯ãã§ãïŒãã ããããã¯ããŒãã®ããã§ãïŒã
ãã®ã¹ã¿ã€ã«ãããŒãžã§ã³0.2ãšããŠClearStacktrace.jl
ã®ã§ãããå°ãè©ŠããŠã¿ãããšãã§ããŸãã
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ã®äœ¿çšããããŸããã ããã±ãŒãžã®ããŒãæéã«ã圹ç«ã¡ãŸãã æ¿ãç°è²ã®äžç·ãåŒãããšã§ãèŠèŠçã«å§åãããããšãªãããã¡ã€ã«åãšè¡çªå·ã®èŠèªæ§ãé«ããæ¹æ³ãèŠã€ããŸããã ãã¹/ãªã³ã¯ã«äžç·ãåŒãããŠããããšã«æ £ããŠããã®ã§ããããçã«ããªã£ãŠããããã«èŠããŸãã çœããã®ä»ã®ãã€ã©ã€ãã匷ããã倪åã匱ãããŸããã
ãŸãããµã€ã¯ã©ãŒã®æåã®è²ãšããŠæããè²ã«åãæ¿ããã®ã§ããããããããã¹ãã ã£ãã®ã§ãããããŒãã¯åãããã«èŠããã®ã§æ°ã¥ããŸããã§ããã ããã¯ãæ¿ãéãã»ãšãã©èŠããªãããŒãã«é©ããŠããã¯ãã§ãïŒãã ããããã¯ããŒãã®ããã§ãïŒã
ãã®ã¹ã¿ã€ã«ãããŒãžã§ã³0.2ãšããŠ
ClearStacktrace.jl
ã®ã§ãããå°ãè©ŠããŠã¿ãããšãã§ããŸãã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
æãéèŠãªæ å ±ã¯ããšã©ãŒã¡ãã»ãŒãžèªäœãšãã¹ã¿ãã¯ã®äžçªäžïŒãšã©ãŒã«è¿ãæ¹ïŒã®ãã¬ãŒã ãšãã¹ã¯ããŒã«ããã«åžžã«è¡šç€ºãããé åºã§å°å·ããããšã§ãã çŸåšãã¹ã¿ãã¯ãã¬ãŒã¹ã®æ«å°Ÿã ãã§ãªãããšã©ãŒã¡ãã»ãŒãžã衚瀺ããããã«ãé »ç¹ã«äžã«ã¹ã¯ããŒã«ããå¿ èŠããããŸãã
ãã ããã¿ãŒããã«ããã³ããŒããŠè²Œãä»ããããWebãµã€ãã§ã¹ã¿ãã¯ãã¬ãŒã¹ãèªã¿åãå Žåã¯ãã¿ãŒããã«ã®å Žåã®ããã«äžããäžã«ã¹ã¯ããŒã«ããã®ã§ã¯ãªããäžããäžã«ã¹ã¯ããŒã«ãããããéã®é åºãå¿ èŠã§ãããããã®äž¡æ¹ã®å Žåã«é©ããèšèšã
ãã ããã¿ãŒããã«ããã³ããŒããŠè²Œãä»ããããWebãµã€ãã§ã¹ã¿ãã¯ãã¬ãŒã¹ãèªã¿åãå Žåã¯ãã¿ãŒããã«ã®å Žåã®ããã«äžããäžã«ã¹ã¯ããŒã«ããã®ã§ã¯ãªããäžããäžã«ã¹ã¯ããŒã«ãããããéã®é åºãå¿ èŠã§ãããããã®äž¡æ¹ã®å Žåã«é©ããèšèšã
ç§ã¯å®éã«ClearStacktrace.jl
ã«ãã°ããã®éã³ãŒããæã£ãŠããã®ã§ãæåŸã®ã¹ã¿ãã¯ãã¬ãŒã¹ãåå°å·ããããšãã§ããŸããã è¶
ãã³ã°ã¿ã€ããæ倧æåæ°ã§åãåããå
šæ
å ±ãå¿
èŠãªå Žåã¯å®å
šã«è»¢èŒã§ããããšãæ³å®ããŠããŸããã ããããããªãã®ãŠãŒã¹ã±ãŒã¹ãèå³æ·±ãã§ãããã reprint(inverted = true)
ãŸãã¯reprint(html = true)
ã§ãããWebãµã€ãã«è²Œãä»ããããã®è²ãä¿æããhtmlããŒãžã§ã³ãå°å·ããããšãæ³åã§ããŸãã
ãŸããã¹ã¯ããŒã«æ¹åãèãããšãããã©ã«ãã§å šäœãå転ããããšãçã«ããªã£ãŠããå¯èœæ§ãããããšã«åæããŸãã
ipython
ã¯éã®é åºã§ãã¬ãŒã ãå°å·ããã¹ã¯ããŒã«ããå¿
èŠããªãã«ãããããããç§ã¯ãã€ããããäžå¯è§£ã«æ··ä¹±ããŠããããšã«æ°ã¥ããŸããã ããããããã¯ãgdbãä»ã®ã·ã¹ãã ã§æãå
åŽã®ãã¬ãŒã ãäžçªäžã«ãããšããç§ã®ä»¥åã®çµéšã«ãããã®ã§ããããããããšãä»ã®äººããã®ããã«æããŠããã®ã§ããããïŒ
gdbãšèšãã°ããã±ãããã«ã䜿çšããéåžžã«é·ããã¬ãŒã¹ã«å¯Ÿããåççãªè§£æ±ºçããããŸãããEnterããŒãæŒããŠãã¬ãŒã ãå¢ãããã
ã¡ãªã¿ã«ã httpsïŒ //github.com/JuliaLang/julia/issues/36026#issuecomment -636912686ã§ææ°ã®ããžã¥ã¢ã«ãã¶ã€ã³ã玹ä»ããŠããŸããããããçµ±åããã°éåžžã«å¬ããã§ãã ãã¬ãŒã ã®é åºãå€æŽããããã€ã³ã¿ã©ã¯ãã£ãæ©èœãè¿œå ãããããããšã¯ãå¥ã®åé¡ã®ããã«æãããŸãã
ãã¡ã€ã«åã«é¢ããŠã¯ãæçµçã«ã¯ã¿ãŒããã«ãã€ããŒãªã³ã¯OSCã·ãŒã±ã³ã¹ã䜿çšã§ãïŒã¯ããã¿ãŒããã«ã®ãã€ããŒãªã³ã¯ã¯ããçšåºŠåºããµããŒããããŠããŸãïŒ ïŒããŠãŒã¶ãŒã®ãšãã£ã¿ãŒããããååŸã§ããããã«ãªãããšãé¡ã£ãŠããŸãã
ãæãå
åŽã®ãã¬ãŒã ããèŠã€ããããšã«ã€ããŠèšãã°ãç§ã¯ä»äºã®éçšã§ååãªèšèªã䜿çšããŠããã®ã§ãç¹å®ã®èšèªã§ã³ãŒãã®ã¹ã¿ãã¯ãã¬ãŒã¹ã®äžéšãŸãã¯äžéšã確èªããå¿
èŠããããã©ãããæãåºããŸããã ãã®ãããèªèã§ãããã¡ã€ã«åãèŠã€ãããŸã§ããã¡ã€ã«åã調ã¹ãŠã¹ãã£ã³ããããšã«ãªããŸãã ããã«ç€ºãããŠããäžç·ã¯åœ¹ç«ã€ã®ã§ãããã¯æãããªæ¹åã§ãã ããããç§ã¯ãŸã äžãèŠãã¹ããäžãèŠãã¹ãããåŒã³ãããè¯ãæ¹æ³ãããã®ã ããããšæããŸãã ååãšããŠãäžæ¹ã®ç«¯ã«YOUR CODE HERE
ãå°å·ããããäžæ¹ã®ç«¯ã«OTHER CODE HERE
ãå°å·ãããšåœ¹ã«ç«ã¡ãŸãããããŸããšã¬ã¬ã³ãã§ã¯ãªãããã§ãã
ç§ã¯ããã§ããŒã¹ã«PRãããŸããhttps://github.com/JuliaLang/julia/pull/36134
ç§ã®ç¥ãéãã§ã¯æ©èœããŸãããããŒãžã®æºåãããããã«ããã€ãã®å©ããå¿
èŠã§ã
ã¿ã€ããã©ã¡ãŒã¿ãçç¥ããæ¹æ³ã¯ãããŸããïŒ ç§ãã¡ãããç®ã«ããåé¡ã¯ãDiffEqãForwardDiffãªã©ã®åãã©ã¡ãŒã¿ãŒã®éãç©äºãå°é£ã«ããå¯èœæ§ãããããšã§ãã ã¿ã€ããã©ã¡ãŒã¿ãåå ã§ä»ã®ã¡ãœãããžã®ãã£ã¹ããããããå Žåãé€ããŠãããã©ã«ãã§Dual
ãšè¡šç€ºãããŠããå Žåã¯ãç§ãèªãã ã»ãšãã©ã®ã¹ã¿ãã¯ãã¬ãŒã¹ïŒããã³ä»ã®å Žåã @ timholyã®ææ¡ã¯æ¬åœã«å¿
èŠãªãã®ã§ãããªããªããããã¯éåžžãåã®äœæãŸãã¯åãã©ã¡ãŒã¿ãŒã®ãããã³ã°ã«é¢ãããã®ã ããã§ãïŒ
ããããæ¢åã®åãšã€ãªã¢ã¹ã«å¯Ÿå¿ããŠããå Žåã¯ãèªåçã«åé€ãããŸãïŒïŒ36107ïŒã ãã以å€ã®å Žåã¯ãã³ã³ãã€ã«ããã©ãŒãã³ã¹ã®ããã«ããã¯ã®å¯èœæ§ã瀺ããŠããã®ã§ã調æ»ãã䟡å€ããããŸããïŒ
ããã¯ä»è¡ãããŸãã
äžéšã®äººã«ãšã£ãŠã¯ãã»ãšãã©ã®äººã¯3ããŒãžã®å°å·ãããçŽãå¿ èŠãšããã¿ã€ããå°å·ãããšãã«æ··ä¹±ããã ããªã®ã§ããããããªããã€ã³ã®äœãã§ããã¯ãã§ãã ããã«ã€ããŠè°è«ããããã«å¥ã®åé¡ãéããŸãã
æãåèã«ãªãã³ã¡ã³ã
å¥ã®å埩ïŒç§ã¯ãã¹ãŠã®å éšã«ããŸã粟éããŠããªãããããã¹ãŠãéåžžã«ããããŒã ãšæããŠããŸãããããã«å€æ°åãååŸããããšããŸããã ã©ã®ããã«è²ãå²ãåœãŠããã¯è°è«ã®äœå°ããããŸãããäžè¬çã«è¯å®çãªåå¿ãåŸãããããã«èŠããã®ã§ãã¢ãžã¥ãŒã«ã®è²ãå€æŽããŸããã ããããè²ã«ãã£ãŠã¯ããããšã³ããªã®ã¢ãžã¥ãŒã«ã次ã®ãšã³ããªã®é¢æ°åãšå°ãè¡çªããŠããããã«æããŸãã ããã§ãæ¹è¡ãå°å ¥ããŸããã ãã¡ãããã¹ãŠãé·ããªããŸãããç§ã¯è¿œå ã®åŒåžå®€ãšæå¿«ãã奜ãã§ã