導入している言語
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/21 01:53 UTC 版)
トレイトを採用 Smalltalk - 最初のトレイトは Smalltalk 処理系のひとつである Squeak を使ってベルン大学のソフトウェア合成グループによって実装が試され、その有効性が実証された。Squeak にはその後、公式リリースにもトレイトが組み込まれ標準で利用可能となった。Squeak から派生した Pharo も同様。 PHP - 5.4.0 からサポート。 Raku -「ロール」。Perl 5 では Moose モジュールで利用可能。なおロールの限定的な用途のみ「トレイト」と呼称し紛らわしい。 JavaScript の Joose フレームワーク Ruby のモジュールのmix拡張(試作のみ) - Ruby 2.0 向けの新機能として計画されたが運用上の問題が見つかり放棄された。 トレイトの類似品/派生品を採用 Racket - エンティティとしてのトレイトは無いが、ミクスインをトレイトのように振る舞わせる関数やマクロが整備されている。 Curl - 抽象クラスを多重継承することでトレイトを実現することができる。 Swift - protocol、extensionを利用することでトレイトを実現することができる。 Rust - トレイトを有し、型変数に対する制約をトレイトで指定したり、ユーザー定義型の演算子に対する振る舞いを設定するのに利用されるが、その運用に際しそもそも衝突を許さないので(Orphan rule)、メソッドの集合という意味を除きSchärliの想定した使われ方はされず、トレイトとしては別物(実装の記述できるインタフェース程度)と考える方が良い。 Rustの他にもトレイトと称する言語機能を有する静的型言語もあるが、その本質は従来のミクスインのままである(平坦化されない)。ただし平坦なトレイトを模したりミクスインの問題点を回避する拡張を施すなどの工夫により、トレイトに近い使い勝手を実現している場合もある。 Fortress Scala Groovy
※この「導入している言語」の解説は、「トレイト」の解説の一部です。
「導入している言語」を含む「トレイト」の記事については、「トレイト」の概要を参照ください。
- 導入している言語のページへのリンク