Başka işlev özelliklerinde bir işlevin dönüş türü belirtimine başvurmanın bir yolu var mı?Başka bir dekorasyon işlevinde @spec bir Elixir işlevine bir başvuru belirtin @spec
defmodule Car do
@spec beep(none()) :: String.t
def beep do
"beep"
end
@spec beep_log(none()) :: String.t
def beep_log do
IO.puts "beep log"
beep
end
end
beep_log için gözlük böyle bir şey belirtilebilir Can:
@spec beep_log(none()) :: beep()
Ben de YARD içinde @return (foo bakınız) '' gibi tip referanslar cevapsız, ama bu desteklemeyen için iyi bir nedeni var: o olabilir "foo_to_bar" ve "bar_to_foo" dönüşüm işlevleri nedeniyle girdi ve dönüş türlerinin dairesel bağımlılıkları vardır. Elixir'de bir çok kez bu fonksiyonlar, 'Foo.to_bar' ve 'Bar.to_foo' olarak farklı Modüllere sahiptir, yani bir derleme sırası sorunu olur. –