8
Juliaで新しいタイプを印刷できるようにするには、どのメソッドを定義する必要がありますか?Juliaで新しいタイプのprint()のような関数を定義する
- 印刷
- 文字列
- repl_show
- showcompact
- SHOWALL
:私は1つだけで、その後のような他の機能の動作を引き起こすであろう、show
を定義すべきであると信じていますこれらのメソッドのうち、新しい型に対して定義する必要がありますか?
Juliaで新しいタイプを印刷できるようにするには、どのメソッドを定義する必要がありますか?Juliaで新しいタイプのprint()のような関数を定義する
:私は1つだけで、その後のような他の機能の動作を引き起こすであろう、show
を定義すべきであると信じていますこれらのメソッドのうち、新しい型に対して定義する必要がありますか?
ベースのソースは、任意の信頼性の参照である場合は、base/version.jl
だけprint()
とshow
定義されてい(とshow
がprint
によって異なります)
function print(io::IO, v::VersionNumber)
print(io, v.major)
print(io, '.')
print(io, v.minor)
print(io, '.')
print(io, v.patch)
if !isempty(v.prerelease)
print(io, '-')
print_joined(io, v.prerelease,'.')
end
if !isempty(v.build)
print(io, '+')
print_joined(io, v.build,'.')
end
end
show(io, v::VersionNumber) = print(io, "v\"", v, "\"")
あなたが頼りにしたい場合は、この時点で、それはあなた次第です思えます1つの共通機能。 このようにすべての機能を実装するだけです。例:
type Foo
end
import Base.string
function string(x::Foo)
return "a Foo()"
end
import Base.print
print(io::IO, x::Foo) = print(io, string(x))
import Base.show
show(io::IO, x::Foo) = print(io, "This is ", x)
-
julia> f = Foo()
This is a Foo()