Error showing value of type ERROR: MethodError: no method matching show_type_name(::IOContext{REPL.Terminals.TTYTerminal}, ::PyCall.PyObject)
Closest candidates are:
show_type_name(::IO, ::Core.TypeName) at show.jl:555
Stacktrace:
[1] show_datatype(::IOContext{REPL.Terminals.TTYTerminal}, ::DataType) at ./show.jl:618
[2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type) at ./show.jl:497
[3] print(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{T} where T) at ./strings/io.jl:35
[4] print(::IOContext{REPL.Terminals.TTYTerminal}, ::String, ::Type{T} where T, ::Vararg{Any,N} where N) at ./strings/io.jl:46
[5] println(::IOContext{REPL.Terminals.TTYTerminal}, ::String, ::Vararg{Any,N} where N) at ./strings/io.jl:73
[6] print_response(::IO, ::Any, ::Bool, ::Bool, ::Any) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:243
[7] print_response(::REPL.AbstractREPL, ::Any, ::Bool, ::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:223
[8] (::REPL.var"#do_respond#54"{Bool,Bool,REPL.var"#64#73"{REPL.LineEditREPL,REPL.REPLHistoryProvider},REPL.LineEditREPL,REPL.LineEdit.Prompt})(::Any, ::Any, ::Any) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:822
[9] #invokelatest#1 at ./essentials.jl:710 [inlined]
[10] invokelatest at ./essentials.jl:709 [inlined]
[11] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/LineEdit.jl:2355
[12] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:1143
[13] (::REPL.var"#38#42"{REPL.LineEditREPL,REPL.REPLBackendRef})() at ./task.jl:356
caused by [exception 1]
MethodError: no method matching show_type_name(::IOContext{REPL.Terminals.TTYTerminal}, ::PyCall.PyObject)
Closest candidates are:
show_type_name(::IO, ::Core.TypeName) at show.jl:555
Stacktrace:
[1] show_datatype(::IOContext{REPL.Terminals.TTYTerminal}, ::DataType) at ./show.jl:618
[2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type) at ./show.jl:497
[3] _show_default(::IOContext{REPL.Terminals.TTYTerminal}, ::Any) at ./show.jl:393
[4] show_default at ./show.jl:389 [inlined]
[5] show at ./show.jl:384 [inlined]
[6] show(::IOContext{REPL.Terminals.TTYTerminal}, ::MIME{Symbol("text/plain")}, ::
SYSTEM (REPL): showing an error caused an error
ERROR: MethodError: no method matching show_type_name(::IOContext{REPL.Terminals.TTYTerminal}, ::PyCall.PyObject)
Closest candidates are:
show_type_name(::IO, ::Core.TypeName) at show.jl:555
Stacktrace:
[1] show_datatype(::IOContext{REPL.Terminals.TTYTerminal}, ::DataType) at ./show.jl:618
[2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type) at ./show.jl:497
[3] print(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{T} where T) at ./strings/io.jl:35
[4] print(::IOContext{REPL.Terminals.TTYTerminal}, ::String, ::Type{T} where T, ::Vararg{Any,N} where N) at ./strings/io.jl:46
[5] show_tuple_as_call(::IOContext{REPL.Terminals.TTYTerminal}, ::Symbol, ::Type{T} where T, ::Bool, ::Nothing) at ./show.jl:1788
[6] show_tuple_as_call(::IOContext{REPL.Terminals.TTYTerminal}, ::Symbol, ::Type{T} where T, ::Bool) at ./show.jl:1755
[7] show_spec_linfo(::IOContext{REPL.Terminals.TTYTerminal}, ::Base.StackTraces.StackFrame) at ./stacktraces.jl:242
[8] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Base.StackTraces.StackFrame; full_path::Bool) at ./stacktraces.jl:253
[9] show_trace_entry(::IOContext{REPL.Terminals.TTYTerminal}, ::Base.StackTraces.StackFrame, ::Int64; prefix::String) at ./errorshow.jl:555
[10] show_backtrace(::IOContext{REPL.Terminals.TTYTerminal}, ::Array{Base.StackTraces.StackFrame,1}) at ./errorshow.jl:659
[11] showerror(::IOContext{REPL.Terminals.TTYTerminal}, ::MethodError, ::Array{Base.StackTraces.StackFrame,1}; backtrace::Bool) at ./errorshow.jl:93
[12] show_exception_stack(::IOContext{REPL.Terminals.TTYTerminal}, ::Array{Any,1}) at ./errorshow.jl:737
[13] display_error(::IOContext{REPL.Terminals.TTYTerminal}, ::Array{Any,1}) at ./client.jl:104
[14] #invokelatest#1 at ./essentials.jl:710 [inlined]
[15] invokelatest at ./essentials.jl:709 [inlined]
[16] print_response(::IO, ::Any, ::Bool, ::Bool, ::Any) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:233
[17] print_response(::REPL.AbstractREPL, ::Any, ::Bool, ::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:223
[18] (::REPL.var"#do_respond#54"{Bool,Bool,REPL.var"#64#73"{REPL.LineEditREPL,REPL.REPLHistoryProvider},REPL.LineEditREPL,REPL.LineEdit.Prompt})(::Any, ::Any, ::Any) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:822
[19] #invokelatest#1 at ./essentials.jl:710 [inlined]
[20] invokelatest at ./essentials.jl:709 [inlined]
[21] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/LineEdit.jl:2355
[22] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:1143
[23] (::REPL.var"#38#42"{REPL.LineEditREPL,REPL.REPLBackendRef})() at ./task.jl:356
Following the beginner tutorial Creating a ROS msg and srv, we define a custom message type
Num:gsh@starfish:~/catkin_ws$ rosmsg show Num [beginner_tutorials/Num]: int64 num uint8 age string nameThen, the Python module for this message was generated with
catkin_make. Next, we import theNummessage into Julia as follows:As observed above, RobotOS supports custom messages well. However, if we want to print the above variable
a, we usually simply typea(orprint(a)) in REPL. However, an error will be causedError information
Additionally, we cannot
helpsuch a type either.In the contrary, it is totally OK to
printorhelpa built-in message likestd_msgs.msg.String.Version info