iex でモジュール through t コマンドから typespec を表示できます。つまり、次のようになります。
iex(1)> t Enum
@type t() :: Enumerable.t()
@type acc() :: any()
@type element() :: any()
@type index() :: integer()
@type default() :: any()
しかし、たとえば Enum.reverse から typespec を確認するにはどうすればよいですか?
ソースコードに行くとわかります
@spec reverse(t) :: list
def reverse(enumerable)
t
Enum自体@type t() :: Enumerable.t()
を表し、返すことを期待していると思いますlist
たとえばPythonでは、シェルを介してメソッドドキュメントを取得できます??
(Pythonはタイプスペックを実装していませんが、アイデアは得られます)
In [1]: from urllib2 import urlparse
In [2]: urlparse??
def urlparse(url, scheme='', allow_fragments=True):
"""Parse a URL into 6 components:
<scheme>://<netloc>/<path>;<params>?<query>#<fragment>
Return a 6-tuple: (scheme, netloc, path, params, query, fragment).
Note that we don't break the components up in smaller bits
(e.g. netloc is a single string) and we don't expand % escapes."""