スロット追加とは? わかりやすく解説

スロット追加

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/27 00:07 UTC 版)

Self」の記事における「スロット追加」の解説

Selfオブジェクトにはスロット追加可能である。グラフィカルプログラミング環境でもできるし、'_AddSlots:' プリミティブでも可能である。プリミティブ通常のキーワードメッセージと同様の構文だが、その名前は常にアンダースコアで始まる。_AddSlots プリミティブ自身は古い実装名残りであるため、使うべきでないとされている。しかし、これを使うとコード短縮できるため、以下ではあえて解説するVehicle という単純なクラスリファクタリング乗用車トラック振る舞い変えることを上の例で示したSelf ではこれを次のように実現できる: _AddSlots: (| vehicle <- (|parent* = traits clonable|) |). '_AddSlots' プリミティブ受信オブジェクト明示されていないので、これは "self" に対するものである。これを対話型プロンプト入力すると、"self" オブジェクト相当するのは "lobby" と呼ばれるオブジェクトである。'_AddSlots' の引数オブジェクトであり、そのスロット受信オブジェクトコピーされる。この例では、それは1つスロットだけを持つリテラルオブジェクトである。スロット名は 'vehicle' で、その値が別のリテラルオブジェクトとなっている。"<-" という記号は、第一スロットの値を変更するのに使われる 'vehicle:' という第二スロット暗に示している。 "=" は定数スロット意味するので、'parent*' には対応する 'parent:' が無い。このリテラルオブジェクトは 'vehicle' の初期値であり、クローン作成に関するメッセージ理解できるスロット1つもっている。完全に空のオブジェクトは、(| |) あるいは単に ()示されメッセージを全く受け付けられないvehicle _AddSlots: (| name <- 'automobile'|). これも、前と同じオブジェクト受信者であり、'parent*' に加えて新たに 'name' と 'name:' スロット追加されている。 _AddSlots: (| sportsCar <- vehicle copy |). sportsCar _AddSlots: (| driveToWork = (何かのコード、これがメソッドになる) |). 以前の 'vehicle' と 'sportsCar' はほとんど同じだが、ここでは後者オリジナル持っていなかったメソッドを伴うスロット含まれている。メソッドを持つことができるスロット定数スロットだけである。 _AddSlots: (| porsche911 <- sportsCar copy |). porsche911 name:'Bobs Porsche'. 新たなオブジェクト 'porsche911' は 'sportsCar' とほぼ同じだが、最後のメッセージでその 'name' スロットの値が変更されている。これらはスロットの値は異なるものの、持っているスロットは同じであることに注意されたい

※この「スロット追加」の解説は、「Self」の解説の一部です。
「スロット追加」を含む「Self」の記事については、「Self」の概要を参照ください。

ウィキペディア小見出し辞書の「スロット追加」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「スロット追加」の関連用語

スロット追加のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



スロット追加のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのSelf (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS