- Timestamp:
- 07/13/08 20:24:17 (4 months ago)
- Location:
- docs/nowelium
- Files:
-
- 3 modified
-
en_ja.corpus (modified) (previous)
-
ioDocs/IoGuide_ja.alair (modified) (previous)
-
ioDocs/IoGuide_ja.html (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
docs/nowelium/ioDocs/IoGuide_ja.html
r15479 r15748 81 81 </td> 82 82 <td valign=top style="width:33%"> 83 84 <!--85 <div class=indexSection>Metaprogramming</div>86 <div class=indexItem><a href=>Object</a></div>87 <div class=indexItem><a href=>Block</a></div>88 <div class=indexItem><a href=>Message</a></div>89 <div class=indexItem><a href=>Syntax</a></div>90 -->91 83 92 84 <div class=indexSection><a href="#Primitives">プリミティブ</a></div> … … 246 238 </pre> 247 239 248 Don't worry if some of the addons won't build unless it's a particular addon that you need. Addons are just optional libraries. 240 いくつかのアドオンがビルドできなくても、そのアドオンがあなたが特別必用としていないなら、それは心配しなくても大丈夫です。 アドオンは任意のライブラリです。 249 241 250 242 <h4>ノート</h4> … … 278 270 </pre> 279 271 280 The io_static executable contains the vm with a minimal set of primitives all statically linked into the executable. The io executable contains just enough to load the iovm dynamically linked library and is able to dynamically load io addons when they are referenced. 272 io_static は最小量のセットの基本関数が静的にすべてリンクされている vm を含んでいる実行可能な形式です。 io は実行時に、iovm が動的にリンクされたライブラリをロードすることができます。それは、io のアドオンが参照されたときに動的に組み込まれます。 281 273 282 274 … … 364 356 </pre> 365 357 366 Only ReadLine is seen in the Addons since no other Addons have been loaded yet. 367 <p> 368 Inspecting a method will print a decompiled version of it:358 他の Addons が組み込まれていないので、RadLine だけが Addons に表示されています。 359 <p> 360 メソッドをインスペクトすると、その時のバージョンで逆コンパイルされたものが表示されるでしょう: 369 361 370 362 <pre> … … 418 410 <h2>構文<a name="Syntax"></a></h2> 419 411 <div class=indent> 412 413 <div class=quote> 414 より少ないことは、より豊かなこと<br> 415 - Ludwig Mies van der Rohe 416 </div> 420 417 421 418 <div class=quote> … … 677 674 678 675 <div class=quote> 676 今まで考案された全ての言語 - Fortran, Algol60, Lisp, APL, Cobol, Pascal - では、プログラムは一方に受動的なデータオブジェクトを持ち、もう一方にそれを操作する実行可能なプログラムを持つ構造だった。 この二部構成を同質に塗り替え、それぞれが自身で操作できるデータ系の集合で構成したのが、オブジェクト指向プログラムである。 <br> 677 - David Gelernter and Suresh J Jag 678 </div> 679 680 <div class=quote> 679 681 In all other languages we've considered [Fortran, Algol60, Lisp, APL, Cobol, Pascal], a program consists of passive data-objects on the one hand and the executable program that manipulates these passive objects on the other. Object-oriented programs replace this bipartite structure with a homogeneous one: they consist of a set of data systems, each of which is capable of operating on itself. <br> 680 682 - David Gelernter and Suresh J Jag … … 811 813 <h3>ブロック</h3> 812 814 813 A block is the same as a method except it is lexically scoped. That is, variable lookups continue in the context of where the block was created instead of the target of the message which activated the block. A block can be created using the Object method block().ブロックを生成する例:815 ブロックは変数のスコープの違いを除いて、メソッドと同じです。 つまり変数検査は、ブロックが実行されるメッセージのターゲットの代わりに、ブロックが生成された時点での文脈に従います。 ブロックは Object の block() メソッドで生成できます。 ブロックを生成する例: 814 816 815 817 <pre> … … 819 821 <h4>ブロック vs メソッド</h4> 820 822 821 This is sometimes a source of confusion so it's worth explaining in detail. Both methods and blocks create an object to hold their locals when they are called.違いは、ローカル領域のオブジェクト "proto" と "self" に何がセットされるかです。 メソッドでは、それらのスロットには、メッセージのターゲットがセットされる。 ブロックでは、そのブロックが作り出されたときのローカル領域オブジェクトがセットされる。 従ってブロック中では、ローカル領域にない変数は、そのブロックが作成されたときのローカル領域を辿って検索される。 そしてメソッド中では、ローカル領域にない変数は、そのメソッドを呼び出したオブジェクトを辿って検索される。822 823 <h4>call and self slots</h4>824 825 When a locals object is created, its self slot is set (to the target of the message, in the case of a method, or to the creation context, in the case of a block) and its call slot is set to a Call object that can be used to access information about the block activation:823 混乱の種になりそうなので、詳細を説明します。 両方とも、呼び出されるとローカル領域にオブジェクトを作成するのは同じです。 違いは、ローカル領域のオブジェクト "proto" と "self" に何がセットされるかです。 メソッドでは、それらのスロットには、メッセージのターゲットがセットされる。 ブロックでは、そのブロックが作り出されたときのローカル領域オブジェクトがセットされる。 従ってブロック中では、ローカル領域にない変数は、そのブロックが作成されたときのローカル領域を辿って検索される。 そしてメソッド中では、ローカル領域にない変数は、そのメソッドを呼び出したオブジェクトを辿って検索される。 824 825 <h4>call と self スロット</h4> 826 827 ローカル領域にオブジェクトが作られる際、その self スロットには、メソッドの場合はメッセージのターゲット、ブロックの場合は生成時の文脈に沿ってセットされ、call スロットには Call オブジェクトがセットされ、ブロック実行時のアクセス情報が参照できます: 826 828 827 829 <p> … … 838 840 <i>call sender </i> 839 841 </td><td> 840 <i> locals object of caller</i>842 <i>呼び出し側のローカルオブジェクト</i> 841 843 </td> 842 844 </tr> … … 845 847 <i>call message </i> 846 848 </td><td> 847 <i> message used to call this method/block</i>849 <i>メソッドまたは、ブロックへの呼び出し時に使われたメッセージ</i> 848 850 </td> 849 851 </tr> … … 852 854 <i>call activated</i> 853 855 </td><td> 854 <i> the activated method/block</i>856 <i>実行されたメソッドまたはブロック</i> 855 857 </td> 856 858 </tr> … … 859 861 <i>call slotContext</i> 860 862 </td><td> 861 <i> context in which slot was found</i>863 <i>スロットが見つかった文脈</i> 862 864 </td> 863 865 </tr> … … 866 868 <i>call target</i> 867 869 </td><td> 868 <i> current object</i>870 <i>カレントオブジェクト</i> 869 871 </td> 870 872 </tr>
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)