952 :
デフォルトの名無しさん:05/02/22 23:39:31
今作ってる俺言語に、プロトタイプベース(オブジェクトベース?)風のOOの
機能を盛り込もうとしています。
言語そのものは、C風の文法の形無し言語です。
んで、
o = new_object();
とすることで、o.hoge 形式で参照可能な連想配列が取得できるようにする。
そうすれば、後はクロージャを実装するだけで、
new_point(x, y) {
o = new_object();
o.x = x;
o.y = y;
o.move = function (x, y) {
o.x += x;
o.y += y;
}
}
なんて形で、そこそこそれっぽいものが書けそうな気がするんですが、
どんなもんでしょうか。
そんなのOOじゃねえ、とか、それじゃ実装できんだろ、とか、
気が付くところがあったら教えてくださいませ。
# プロトタイプチェーンはもちょっと後で考えるつもり。
953 :
デフォルトの名無しさん:05/02/23 08:32:12
o.hogeに関数を設定するのと関数の返り値を代入するのはどう書き分けるの
>>953 普通に{...}があるかないかじゃダメなのか?
>>953 functionって関数名じゃなくて関数宣言の予約語じゃないの?
WEB制作板にカエレ
>>953-955 反応ありがとう。
>>955が正解で、functionは予約語です。
んで、
>>952ではいくつかポカしてて、通常の関数定義の際もfunctionは
必要で、かつ、new_point()はただの関数なので、
>>952のリストは実際にはこうなります。
function new_point(x, y) {
o = new_object();
o.x = x;
o.y = y;
o.move = function (x, y) {
o.x += x;
o.y += y;
}
return o; ←returnが必要
}
関数のネストは今のところ考えてないので、スコープは、
・グローバル
・関数内ローカル
・ネストした分のクロージャ
になるんじゃないかと思ってます。
958 :
デフォルトの名無しさん:05/02/24 10:45:47
プロトタイプ・チェーンの無いものはプロトタイプベース・オブジェクト指向言語と呼ぶべきでない、
みたいな議論、どーでもいい話で盛り上がってるっぽくてワラタ
そんなん、プロトタイプとなるインスタンスへの委譲がなくとも、
インスタンスをプロトタイプとして新しいインスタンスを作るんだから、プロトタイプ〜でええやん。
こーゆーつまらん議論を喧喧ガクガクやって、しまいには辞書まで引っ張り出してくるのって、
きっと(ry
959 :
デフォルトの名無しさん:05/02/24 10:55:24
一見意味がありそうで、実はとってつけたどーでもいい話を延々するのは、文系人間のビョーキだな
>>958 そーゆーつまらん議論はとっくに終わっているのに、わざわざほじくりだして
しかもageるのって、きっと(ry
961 :
デフォルトの名無しさん:05/02/27 12:58:24
そして誰もいなくなったらしい…
1000目前でこれは悲しいので、一応ageとく。
次スレはいらないの?
963 :
デフォルトの名無しさん:05/02/27 15:29:24
次スレは、「POO総合スレ」的なのがいいな。
タイトルにインスタンスベースも入れて欲しい。
このスレは
頭が痛くなるだけで
何も生み出さない
次スレは*無し*の方向で
>>965 あんたの頭が足りないのをスレのせいにされてもなあ…
上のほうには有意義な議論もあったろうに。
有意義か?www
結局ここに書き込んでる奴は、何がしたいわけ?
>>3-4みたいなマイナー言語並べて各自の勝手な解釈で
分類の仕方に終始してるだけというか。
何が有意義なのかねえ・・
言語ごとに専用スレ立てれば?
ファビョるなよ低脳…。合わないならこんなスレ来ないで、
HSPスレなりマ板なりどこでも逝けばいいだろうに。
うわww
合う合わないの話なんてしてないのに。
自分が低脳だとは考えたことが無いんだろうね。
痛すぎるよ、君。
Rubyこそ最高言語
973 :
デフォルトの名無しさん:05/03/01 01:31:10
で、低脳は放置するとして、次スレはどうするよ?
>>964 「インスタンスベース」という言葉は一般に使われていない上に、
英語としても変(
>>928)だから、却下されるべきだと思うよ。
俺としちゃ、プロトタイプOOな言語が具体的にどういう時に役に立つのか、
もうちょっと色々話を聞きたいと思ってる。
>>133のリンク先にある話は割とわかるんだが、200〜あたりで話されている、
「プロトタイピングで便利」というのは納得しかねるなあ。動かしながらいじるのが
便利だとして、具体的にどこをどういじりたいんだろう?
自分が低脳だとは考えたことが無い低脳は放置するとして、次スレは無しの方向で。
自ら“英語に疎い”と認めつつ、実際に動詞としての使用例で以って
“だとすると「インスタンスベース」はまずいね”と仰ってしまう
>>928 は
果たして参考になるのだろうか…?
>>975 意味をよく掴めなかったので、つっこみつつ質問。
> 自ら“英語に疎い”と認めつつ、実際に動詞としての使用例で以って
疎い思っているからこそ(失礼、
>>928さん)、辞書をひいたのでしょう。
確固とした情報源を使うことで、(変な論理で話を変な方向に展開させなければ)
信頼できる情報となり得るのではないでしょうか。
まさか、「英語に疎い人が辞書を使っても、信頼なんかできないよ」
という意味ではないですよね?
できないよ。w
まあ「インスタンスベース」はある種、ちょっとイジワルな踏み絵ですね。
嫌悪感を示す人の中で、このパラダイム向け言語処理系をある程度、
まともに使ったことがある人は皆無に近いと思いますよ。
批判的になることで、自ら、その事実を晒してしまっているわけです。
>>978 > 嫌悪感を示す人の中で、このパラダイム向け言語処理系をある程度、
> まともに使ったことがある人は皆無に近いと思いますよ。
ポカーン
英語的に問題あるという話なのに、978は一体何を考えているのでしょうか?
980 :
デフォルトの名無しさん:05/03/01 12:36:49
こーゆーつまらん議論を喧喧ガクガクやって、しまいには辞書まで引っ張り出してくるのって、
きっと(ry
>>979 ん、英語的に問題? 問題があるのは928(と979)の理解のほうだろ。
インスタンスが「クラスのインスタンス」のコンテキストを意味するのは
自明のことだし、インスタンスベースがオブジェクトベースの同義である
ことはインスタンスがオブジェクトと同義である程度には許されるはずだ。
そして、このパラダイムに則って運用される世の中のオブジェクトのほと
んどが実質、何らかのクラスに属している。つまり、当初、取りざたされ
たようなクラスの有無は、このパラダイムにおいて本質じゃない。
お前みたいのが分かったふりして出てくるのを助長するからプロトタイプ
ベースってのは限定的でマズいって話。これだけ繰り返しても、まだ分か
らないのか?
>インスタンスが「クラスのインスタンス」のコンテキストを意味するのは自明のことだし
自明じゃないだろ。
「クラスのインスタンス」と自分で自明じゃない事を証明してしまってるじゃないか。
アフォか。
>>982 悪かった。このスレ以外では…、と但し書きを入れるのを忘れてたよ。orz
インスタンスベースなんて、おかしな用語を広めようとしているのは
何を目的としているのだろう。
英語の文献では、prototype basedもしくはclone basedくらいしか
使われていない。英語の意味的にもinstance basedは有り得ない
のだから、変な用語を広めようとするのは止めてくれ。
>>984 どんな文献を読んで言っているんだか…。文献調査が足りてないぞ、学生君。
とりあえず、手近な文献データベースでinstance-based AND object-orientedな
検索かけてみたまえ。話はそれからだ。
instance-based : 実例を基本とした
>>981 > インスタンスが「クラスのインスタンス」のコンテキストを意味するのは
> 自明のことだし、インスタンスベースがオブジェクトベースの同義である
> ことはインスタンスがオブジェクトと同義である程度には許されるはずだ。
じゃ、その定義によるとSmalltalkはインスタンスベースだな。プゲラ
>>985 検索にヒットしたらそれが正しい用語だと思っているのか?
instance-basedとobject-orientedの両方が含まれているだけの文章が
山程ヒットしているだけで、無関係のものしかないようだが?
ここ10年くらいのまともなプログラミング言語系journal、proceedingsや
それ以前の主要な文献でinstance-basedなんて言葉をいわゆる
プロトタイプベースの意味で使ったものなんか見たこと無いぞ。
Rubyですべて解決!!!!!!!!!!!11111111111
い
ん
nullpo
ら
ん
女
ハ
|
ト
マ
ン
教
./ ;ヽ
l _,,,,,,,,_,;;;;i <いいぞ ベイべー!
フ
ゥ
ハ
ハ
ハ
|
ハ
ァ
|
nextThread = [ self clone ];
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。