タグ trait
人気順 10 users 50 users 100 users 500 users 1000 usersenumはクローズド直和、traitはオープン直和
本稿では直和による多態性を実現する2つの機能、enumとtraitを拡張性の観点から比較します。 → Expression problem ※enumとtraitを使い分けるにあたってはパフォーマンス要件など他の条件も考慮するべきですが、本記事は多態性の観点のみ説明します。 数式 — enumによる例 本稿では数式をあらわすデータ型を例として扱い... 続きを読む
Rust で新しく struct や enum を定義するときに実装を検討する trait まとめ - Qiita
メモっとかないとよく忘れるんですよ…… (おい) 基本 Clone, Copy Default Debug, Display 比較 PartialEq, Eq PartialOrd, Ord 変換 Deref, DerefMut AsRef, AsMut Borrow, BorrowMut From, TryFrom FromStr ToOwned 出力 Binary Octal LowerHex, UpperHex LowerExp, UpperExp Pointer 特定用途向け エラー用 Error Try ... 続きを読む
Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself
Scala の trait と Rust の trait は微妙に使い方が異なる、とよく質問を受けます。たしかに、使い心地は微妙に異なるかもしれません。Scala はオブジェクト指向を中心に設計された言語ですが、Rust はそれを中心に設計されているとは言えません*1。こういった言語設計の差が、trait の使い心地の違いを生み出していると... 続きを読む
Rustに入門した - The curse of λ
Rustに入門して2週間くらい経ったぜ TL;DR Rustは普通に便利ないい言語 入門した 入門にあたっては プログラミング言語Rust を読んだ。 これ の翻訳版ぽい。 読んでRustに対して思ったこと: 読んだやつは古いドキュメントの翻訳版だったようで一部記述が古いっぽかった 構文はシンプルだけど必要なものは揃ってる感 ML風でADTもパターンマッチもあるしtraitもあって言うことナシでし... 続きを読む
神経発達障害としての冷淡さと非情緒性 〜 Callous unemotional trait をどう考えるか〜 - A Fickle Child Psychiatrist
2017 - 12 - 31 神経発達障害としての冷淡さと非情緒性 〜 Callous unemotional trait をどう考えるか〜 Neurodevelopmental Disorders Child Psychiatry この年末になって、今年一度もブログに記事を投稿していないことに気づいて、慌てて記事を書いています。年末年始に読んでいただくにはあまりふさわしくない内容になってしまいま... 続きを読む
Protocol Extensionsのwhere句を使ってTraitを実現し、BaseViewControllerを排除する
Protocol Extensionsのwhere句を使ってTraitを実現し、BaseViewControllerを排除する Sep 23, 2016 iOSアプリの開発において共通処理をBaseViewController(仮)のような親クラスに定義して、 各画面はこの親クラスを継承するといった実装がわりとあるかなと思います。 このような実装の場合、BaseViewControllerが肥大化... 続きを読む
Ruby - FactoryGirlのtransientとtraitを活用する - Qiita
FactoryGirlでテストデータを定義する時に、transientとtraitを活用すると色々捗るという話。 transientは実際に作成するデータと直接関係無い新しいattributeを定義する機能。 そこで定義されたものは実際のmodelにはセットされないしattributes_forでも出力されません。 何のために使うかというと作成時に挙動を変更するためのフラグや追加データとして利用す... 続きを読む
初学者向けでない Scalaバッドノウハウ(1) - traitの初期化時にManifest型の値を取得する - kmizuの日記
2014-05-13 初学者向けでない Scalaバッドノウハウ(1) - traitの初期化時にManifest型の値を取得する ネタが尽きたわけではないが、Manifest絡みで嫌な現象に遭遇したのでメモと回避方法(現在はManifest型をつかうべきではないがそれはおいておく)。 まず、問題として、次のようなコードを書くと実行時例外(unknown error)が発生する(Scala 2.1... 続きを読む
traitで簡単にDCIを実装する - じゅんいち☆かとうの技術日誌
モデルの表現方法の一つとしてDCIの実装方法を、いろいろと模索しています。 暗黙的型変換と型クラスを使ったDCIがよいと説明しましたが、traitだけでもっと簡単に実現できないか考えてみました(この方法はLean Architectureにも紹介されている実装方式です)。 traitで仕様を表現する traitは、仕様を表現するためのインターフェイスとしても使えるし、他のクラスなどに合成するための... 続きを読む
Scalaのtraitはmixinか? - 西尾泰和のはてなダイアリー
Rubyのmixin(モジュール)、Squeakのtrait、Scalaのtraitそれぞれについて:Q1: メソッドの実装を持てる?はい、はい、はいQ2: クラスがそれを複数個継承できる?はい、はい、はいQ3: インスタンスを作れる?いいえ、はい、いいえQ4: 複数個継承した際に名前が衝突しました、どうなる?しれっと上書き、エラー、エラーQ5: 継承パスに参加する?する(?)、しない、する(?)... 続きを読む
Scalaのトレイトは実はトレイトじゃなくただのミクスイン - Smalltalkのtは小文字です
タイトルは釣りです。まずおおざっぱに用語の整理をさせていただくと、ここで「トレイト」は、シェルリ(Nathanael Schärli)ら考案したTraitsやそれ用のエンティティ(trait)や機構名を指し、「ミクスイン(Mixin, mixin)」は従来の実装の多重継承方法のひとつ、具体的にはクラス、あるいはクラス様エンティティを注目するクラスの継承パスに挿入する機構や、それに用いるクラスあるい... 続きを読む
PHP5.4のベンチマークまとめ « PHP6.jp
PHP5.4の正式版のリリースが迫ってきています。Trait、Short Array Syntacなど魅力的な機能も多数実装されていますが、そんな理由ではPHP5.4は絶対に導入できません。新機能を喜ぶのはプログラマであり、プログラマはPHPのバージョンの決定権などありません。PHPのバージョンを5.4に切り替えてもらうためには、サーバ管理チームや経営陣が喜ぶ理由が必要です。ということで、PHP5... 続きを読む
co3k.org - Blog - DTrace で PHP スクリプトの動作を追跡する (PHP 5.4 Advent Calendar 2011 12 日目)
PHP 5.4 Advent Calendar 2011 12 日目です。 `前回は Paul さん `_ でした。 Trait は今すぐにでも使いたい機能のうちのひとつですよね! さて、 PHP 5.4 では DTrace がサポートされました。 DTrace は、稼働中のシステムの動作に関する情報を動的に追跡、解析するための仕組みです。元々は Soralis のために開発されたものですが、現在... 続きを読む
ECMAScript と OOP パラダイム、それに ES.next の議論中 OOP 周りのシンタックス - oogattaの勉強日記
ECMAScript | 16:14(まだ書き中!)JavaScript Advent Calendar 2011 (オレ標準コース)4日目の id:oogatta です。どうもどうも、いやどうも。最近丁度 ES Wiki を眺めていて、面白いことになってるなあ。変態的なことになってるなあ。と楽しく見ていた OOP パラダイム周りのいくつかの手法(定義、継承、 mixin 、 trait )につい... 続きを読む
PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログ
PHP5.4 alpha1がリリースされた。このリリースでは、PHPのオブジェクト指向言語の新たな機能としてtraitと呼ばれる機能が追加された。PHP5.4におけるtraitとは、型に影響を与えずにクラスに適用できるメソッドとプロパティの集合である。早速PHP5.4 alpha1をインストールし、PHP本体のtraitに関わるテストケースやtraitを実装したStefan Marr氏のスライドを... 続きを読む
PHP5.4 alpha1リリース! PHP5.3からの新機能を見わたす : アシアルブログ
こんにちは、久保田です。 先月6月28日、PHP5.4 alpha1がリリースされました。PHP5.3では、名前空間や無名関数の追加など、言語機能に大きな追加が行われました。PHP5.4 alpha1 ではtraitが実装され、オブジェクト指向言語としてのPHPに大きな機能追加が行われました。他にも、 続きを読む