[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12693] Re: 議事録「 Java 言語仕様第3版」を読む会(第 3 回)



  高橋(智)です。

"TAKAHASHI,Toru" wrote:
> 
> 読み手は、岩室さん、遠藤さん、岡澤さん、根本さん、高橋(徹)
> の5人だったと思います。間違いあれば指摘下さい。

  Webサイトのほうの議事録を修正いたしました。
  また何かあれば指摘してください。

 
> > P.106 (宣言のスコープ)
> > pointsパッケージの Point と PointList の宣言を C++ で書いてみる
> >   --> 宿題!!
> > スクリプトでは依存する宣言ほ先に書く必要がある
> >   --> スクリプトは不便ではないか?
> >   --> JavaやC#などでは可能なのに...
> > pointsパッケージの Point と PointList の宣言を Ruby と PHP で書いてみる
> >   --> 宿題!!
> 
> 何度か挫折したRubyでチャレンジしてみました。
> ------ ここから ------
> class Point
>   attr_accessor :x, :y
>   attr_accessor :list
>   attr_accessor :next
> end
> 
> class PointList
>   attr_accessor :first
> end
> ------ ここまで ------

  Java版のコードでは、PointやPointListへの参照は、C++でいうところのポインタのようなもの
だと思いますが、Rubyでは「値(コピー)渡し」や「参照渡し」のような区別はあるのでしょうか?
  また、Java版のコードでは package points; を宣言していますが、Rubyには同様な仕組みはある
のでしょうか?
  また、Java版のコードではメンバのアクセスレベルに「デフォルト」を利用していますが、Ruby
には同様な仕組みはあるのでしょうか?


  以下、できるだけ忠実にC++で再現して(書いて)みました。やむを得ず、アクセスレベルにpublicを
使用しています。(^^;
------ ここから ------
namespace points{
class PointList;
class Point {
public:
  int x, y;
  PointList* list;
  Point* next;
};
class PointList {
public:
  Point* first;
};
}
------ ここまで ------


  あとは、PHP4, PHP5 ですね。


-- 
高橋智宏
  Java読書会( http://www.javareading.com/bof/ )