プログラミング言語 Crystal

Crystal の日本語ドキュメントはしばらく更新されておらず情報が古くなっているため、できるだけ原文の英語ドキュメントで最新の情報を参照ください。

翻訳にご協力いただける方は翻訳プロジェクトの issue や Crystal-JP の Slack からお知らせください。

responds_to?

responds_to? という擬似メソッドを使うと、ある名前のメソッドを持っているかどうかを判定できます。例をあげます。

a = 1
a.responds_to?(:abs)    #=> true
a.responds_to?(:size) #=> false

これが擬似メソッドである理由は、if 変数.responds_to?(...) で説明したように、引数にシンボルのリテラルのみを受け取り、そして、コンパイラによって特別な扱いを受けるからです。