Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

oto[bunya] = -1;に぀いお

0 views
Skip to first unread message

kunio Itahashi

unread,
Sep 10, 2002, 9:27:43 PM9/10/02
to
こんにちは。お䞖話になりたす。
今条件分岐を自分で勉匷しおいるのですが、よくわからない
こずがありたす。どなたかお教え願えれば幞いです。
悩んでいるのは、「-1」ずいう数字なのですが、
教科曞ずいっおも簡単なJavaScriptの独習甚教本なのですが
には真停はtrueずfalseの意味は1ず0におも可胜ず曞いおあ
りたす。しかし、「-1」ずいうなんだか蚳の分からない数字に
遭遇しお、䜕が䜕だか頭が混乱しお分からなくなっおしたい
たした。今良い䟋をここに瀺せないのですが、

var iro = new Array(5);
var oto = new Array5;
iro [0] = "aka";
iro [1] = "shiro";
iro [2] = "daidai";
iro [3] = "ao";
iro [4] = "murasaki";

ずいうような配列があっお、

function play(doko) {
if (doko != iro [2]) {
oto[bunya] = -1;
alert("メッセヌゞ");
}
else {
alert("メッセヌゞ");
}
}
.......

ずいうような関数があったずき、
oto[bunya] = -1;
alert("メッセヌゞ");
はどのようなこずを呜什しおいるのでしょうか。
「-1」の意味が分かりたせん。説明が䞋手です
いたせん。
い぀もありがずうございたす。よろしくお願い臎したす。

----
板橋囜男いたはし
020904-4

T. Sugita

unread,
Sep 11, 2002, 9:55:48 AM9/11/02
to
すぎたです。

In message news:t2xf9.535$74.5...@news1.dion.ne.jp
"kunio Itahashi" <kunit...@h2.dion.ne.jp> wrote ...

> りたす。しかし、「-1」ずいうなんだか蚳の分からない数字に
> 遭遇しお、䜕が䜕だか頭が混乱しお分からなくなっおしたい
> たした。今良い䟋をここに瀺せないのですが、




> oto[bunya] = -1;
> alert("メッセヌゞ");
> はどのようなこずを呜什しおいるのでしょうか。
> 「-1」の意味が分かりたせん。

はじめに分野を遞択しお、色付きのボタンのどこを抌したかに
よっおなにかを刀定し、音を出す、ずいった感じの流れを想定
したものかずも思ったのですが、うたく党䜓を想像できたせん
でした。

おそらく事前に oto の配列をなんらかの倀で初期化したうえで
for ( i=0 ; i < oto.length ; i++ ) oto[i] = i;
play() が呌び出され、この埌
if (oto[bynya] < 0)
のようなかたちでなにか刀断するような堎面があるんじゃないで
しょうか。

ようするに、単に倀を代入しおいるだけかず。
# 倀を代入する意味はもう少し党䜓を芋ないずなんずも蚀えたせん。

alert("message") はアラヌトダむアログボックスによる
メッセヌゞの衚瀺ですが、こちらは良いですよね

--
杉田
sugi...@bk.iij4u.or.jp

kunio Itahashi

unread,
Sep 17, 2002, 8:13:25 PM9/17/02
to
板橋です。
杉田さん、こんにちは。
い぀も有益な助蚀をいただきたしお有難うございたす。

ずっず自分のファむルずかあれこれ調べおみおいた
しお、遅くなっおしたいたした。すいたせん。前に䟋瀺
した配列は自分でこんな感じず考えお曞きたしたので、
杉田さんを混乱させおしたっお申しわけありたせんで
した。
改めお質問させおください。私が分からなかったのは
次の様な条件文です

if (navigator.appVersion.indexOf("MSIE") != -1)

これがブラりザの皮類ずバヌゞョンによっお条件分け
しおいるのは分かるのですが、
!= -1
ずいうのはどういう意味なのでしょうか。

すいたせん。宜しくお願いいたしたす。

--
板橋囜男


ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 17, 2002, 11:25:08 PM9/17/02
to
久野です。

kunit...@h2.dion.ne.jpさん:


> if (navigator.appVersion.indexOf("MSIE") != -1)
> これがブラりザの皮類ずバヌゞョンによっお条件分け
> しおいるのは分かるのですが、
> != -1
> ずいうのはどういう意味なのでしょうか。

indexOf()が䜕であるか分からないずね。navigator.appVersion は文
字列ですよね。ですから、

navigator.appVersion.indexOf()

は文字列のindexOf()ずいうメ゜ッドを呌んでいるわけです。で、この
メ゜ッドの仕様を調べるずパラメタずしお枡された文字列が元の文字列
のどの䜍眮に珟われるかを返す、もし珟われないなら-1を返す、ずなる
わけです。だからこのif文党䜓は「navigator.appVersionに栌玍されお
いる文字列の䞭に"MSIE"ずいう文字列が珟われおいないなら」になる。

こういうこずをちゃんず読めないずプログラムが曞けるようにはなら
ないでしょ? なんずなくプログラムテキストから

> これがブラりザの皮類ずバヌゞョンによっお条件分けしおいるのは分
> かるのですが、

だけではたずいずいうか、実は分かったずは蚀えないわけです。

お分かりになりたす? 久野

kunio Itahashi

unread,
Sep 18, 2002, 12:34:55 AM9/18/02
to
久野さん、有難うございたす。

ku...@gssm.otsuka.tsukuba.ac.jp wrote in message ...

はい。なんずなく。プログラマの道は遠い

で、「-1を返す」っお䜕なのでしょうか
「-1」は䜕かの玄束のある数字ですか
そこが分からないのです。
すいたせん。

--
板橋囜男いたはし

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 18, 2002, 1:00:21 AM9/18/02
to
久野です。

kunit...@h2.dion.ne.jpさん:
> で、「-1を返す」っお䜕なのでしょうか「-1」は䜕かの玄束のある
> 数字ですかそこが分からないのです。

indexOf()は「どの䜍眮にあおはたるか」ずいう数倀を返したすよね。
その堎合、0から文字列の長さマむナス1たでの数倀が返るわけじゃない
ですか。で「あおはたらなかった」ずいうこずを衚したい時にその目印
ずしお䜕を返したすかね。

もちろん "atehamaranai" ずいう文字列倀を返したり :-) しおもい
いんですが、他の堎合に数倀を返すんだからこういう堎合も数倀を返す
方が統䞀されおいおよさげでしょ。ずするず、「どこかにあおはたった」
のず混同しない倀ずしおは「-1」が玠盎なんじゃないですか。

なお、これは誰がどこで決めおいるかずいうず、JavaScriptの暙準芏
栌であるECMA-262においおStringのindexOf()は「芋぀からなかったず
きは-1を返す」ず決めおいるので、そこが源ずいうこずですね。

䜕が玍埗行かないのかよく分かりたせんが  久野

Hoshi Takanori

unread,
Sep 18, 2002, 4:46:02 AM9/18/02
to
ほしです。

In article <am9195$2g...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> その堎合、0から文字列の長さマむナス1たでの数倀が返るわけじゃない
> ですか。

そもそも、「0 から文字列の長さマむナス 1 たで」っおのが
ぜんぜん自然じゃありたせん。っおのはさおおき、

> 「どこかにあおはたった」
> のず混同しない倀ずしおは「-1」が玠盎なんじゃないですか。

ぜんぜん玠盎じゃありたせん。

もちろん、コンピュヌタ的にはそれが「楜」だからそうしおる
わけですが、普通の人間の思考からすればすごく䞍自然な、
䞀皮の「ぞ理屈」だず思いたす。

逆に蚀うず、プログラミングを䞊達するっおのは、そういうのを
「玠盎」だず思うようになるっおこずも含むんですよね...

> 䜕が玍埗行かないのかよく分かりたせんが  久野

っおいうこずだず思ったんですが、倖しおたらごめんなさい。

ほし

Kazuo Fox Dohzono

unread,
Sep 18, 2002, 5:29:52 AM9/18/02
to
In article <HOSHI.02S...@ext54.sra.co.jp>
ho...@sra.co.jp (Hoshi Takanori) writes:

> > 「どこかにあおはたった」
> > のず混同しない倀ずしおは「-1」が玠盎なんじゃないですか。
>
> ぜんぜん玠盎じゃありたせん。

今ほしさんがいいこず蚀った!

# 2ch 甚語の䜿い方あっおたすか? :p

> 普通の人間の思考からすればすごく䞍自然な、䞀皮の「ぞ理屈」だず思いた
> す。

C の EOF なんかも私は嫌いです.

# じゃあどんなのがいいのかっ぀ヌず 䟋倖凊理になるのかな?

--
Kazuo Fox Dohzono / doh...@hf.rim.or.jp

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 18, 2002, 8:38:14 AM9/18/02
to
久野です。

doh...@hf.rim.or.jpさん:
> # じゃあどんなのがいいのかっ぀ヌず 䟋倖凊理になるのかな?

StringのindexOf()で䟋倖返られたらりザすぎでしょう。if文だけで
枈たなくなるし。た、「-1」は党然玠盎じゃないずいうのはそうかも知
れたせん。

falseならいいのか? よくわからん。 久野

u-ogeshi

unread,
Sep 18, 2002, 6:34:25 PM9/18/02
to

◆ku...@gssm.otsuka.tsukuba.ac.jpさんの<am9s3m$2q...@utogw.gssm.otsuka.tsukuba.ac.jp>から

>> # じゃあどんなのがいいのかっ぀ヌず 䟋倖凊理になるのかな?
>
> StringのindexOf()で䟋倖返られたらりザすぎでしょう。if文だけで
>枈たなくなるし。た、「-1」は党然玠盎じゃないずいうのはそうかも知
>れたせん。
>
> falseならいいのか? よくわからん。 久野

「停」のずき0、「真」はたいおい-1っお蚀語で育ったので、
感芚的にfalse盞圓なのが-1なのはなんか違和感あったりしたす。

ずいうのはダメダメですか(^^;
-+-+-+---*--+
UEHARA Shigeo :> u-og...@ma4.seikyou.ne.jp

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 18, 2002, 7:38:13 PM9/18/02
to
久野です。

u-og...@ma4.seikyou.ne.jpさん:


> 「停」のずき0、「真」はたいおい-1っお蚀語で育ったので、
> 感芚的にfalse盞圓なのが-1なのはなんか違和感あったりしたす。
> ずいうのはダメダメですか(^^;

別に感芚だから他人がダメずいうこずはないですけど、indexOf()
の堎合は「先頭にあおはたった」堎合にその䜍眮ずしお「0」が返りた
すから「停」に「0」を䜿うこずができたせんよね。

もしかしお「先頭」が「1」である蚀語で育ったずか :-) 久野

T. Sugita

unread,
Sep 18, 2002, 3:15:23 PM9/18/02
to
すぎたです。

In message news:nnTh9.925$74.11...@news1.dion.ne.jp


"kunio Itahashi" <kunit...@h2.dion.ne.jp> wrote ...

> で、「-1を返す」っお䜕なのでしょうか
> 「-1」は䜕かの玄束のある数字ですか

「-1」単独では、そのたた数倀の -1 ずいう意味で、
特に玄束ずいうのは無いです。

「-1を返す」の方は久野さんも説明されおいたすが、
indexOf() メ゜ッドの仕様でそのように決められおいるずい
うこずで、新しく独自に䜜るずきは、ずくに -1 でなければ
ならないわけではないです。

indexOf() はある文字列䞭にある指定された文字列が珟れる
䜍眮を求めるこずが出来たすが、この䜍眮を倉数に代入した
堎合は、以䞋のようになりたす。
var str = "ABCDEFG";
var idx;
idx = str.indexOf("ABC");
/* idx には 0 が代入されたす */
idx = str.indexOf("CD");
/* idx には 2 が代入されたす */
そしお、もし指定した文字列が無い堎合、idx には -1 が
代入されたす。
idx = str.indexOf("HI");
/* idx には -1 が代入されたす */
このように、たずえば indexOf() を䜿うこずである倀を埗
られるずいった堎合は「倀を返す」ず呌んでいお、ここでは
返された倀を idx ぞ代入しおいたす。

悩たれた原因は条件匏(ここでは!=を含む匏)にあるず思うのですが、
if の甚法は (else 以降は省略できたすが)
if ( 条件匏 ) {
凊理1; /* 条件匏が真の堎合 */
} else {
凊理2; /* 条件匏が停の堎合 */
}
ずなりたすが、この条件匏で埗られた結果が真か停かで
凊理先が倉わりたす。

たずえば、条件匏
navigator.appVersion.indexOf("MSIE") != -1
は != を甚いお、navigator.appVersion.indexOf("MSIE")
で埗られた倀ず -1 ずを「比范しお等しくないならば」真
ずいう倀を埗たす。
逆に「比范しお等しいならば」ずいう堎合は == を䜿いたす。
これら ==, != 等(他にもありたすが)は比范挔算子ず呌ばれ、
+ や - ず同様に挔算の䞀皮で、if は条件匏で埗られた結果
によっお刀断しおいたす。

たずえば、この埗られた結果を倉数に代入するず
ret = (navigator.appVersion.indexOf("MSIE") != -1);
ret には true が代入されたす。

おそらく true や false ず同様に -1 にも真/停の意味が
あるず考えたのかず思いたすが、䞊蚘のように、条件匏に
よっお真か停かを求めおいるずいうこずになりたす。
なので、もし indexOf() が文字列が芋぀からなかったら
-2 を返すずいう仕様になっおいた堎合は、
if (navigator.appVersion.indexOf("MSIE") != -2)
のように比范するこずで、もし MSIE が存圚しなければ
-2 ず -2 を比范しお等しくなければ true ずなるので、
「「存圚しない」でないならば」→「存圚するならば」
真ずなりたす。

indexOf() でもし文字列が芋぀かった堎合は、その返り倀
は䞀意の倀ずは限らないので、芋぀からなかった堎合の
返り倀ず比范しおいたすが、もし芋぀かったならば、その
倀は0以䞊ずなるはずなので、
if (navigator.appVersion.indexOf("MSIE") >= 0)
でも MSIE が存圚するならば真ずなりたす。

あず、条件匏を alert() で衚瀺させおみるのも、理解の
補助になるかもしれたせん。

# なんかあたり良い説明ではない気もしたすが、
# こんな感じずいうこずで。

--
杉田
sugi...@bk.iij4u.or.jp

SASAKI Shigeo

unread,
Sep 18, 2002, 10:36:39 PM9/18/02
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> StringのindexOf()で䟋倖返られたらりザすぎでしょう。if文だけで
> 枈たなくなるし。た、「-1」は党然玠盎じゃないずいうのはそうかも知
> れたせん。
>
> falseならいいのか? よくわからん。 久野

nil

おっず、それは CommonLisp ずか Ruby ですね。
でも、僕は、これが䞀番自然だず思いたす。

# 䟋倖ずしお扱いたければ、数ず比范しお䟋倖を発生させればよい。
--
䜐々朚重雄 (JavaScript のこずは知りたせん)

Hoshi Takanori

unread,
Sep 18, 2002, 11:25:11 PM9/18/02
to
ほしです。

In article <am9s3m$2q...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> falseならいいのか? よくわからん。 久野

がくが蚀いたかったこずは「玠盎」じゃない、ずいうこずです。
久野さんの説明そのものは正しかったず思いたすよ。

人間の玠盎な思考ずしおは、芋぀からなければ芋぀からなかった
ずいう「事実」を返しおほしいわけです。ずころが、「事実」
なんおいう面倒なものは (今のずころ) コンピュヌタには扱えない
(あるいは、扱えたずしおも効率が悪い) ので、コンピュヌタが
埗意な蚘号や数に眮き換えおるわけですよね。

なので、-1 (にせよ、䟋倖にせよ、false や nil にせよ) を返す
っおのは、あくたでコンピュヌタの郜合に合わせおるのであっお、
「普通の人間の思考にずっおは」ぜんぜん玠盎じゃありたせん。

もちろん、コンピュヌタの郜合にどっぷり浞かった人 (がく自身も
含めお) にずっおは、特定の状況で特別な倀を返すにあたっお䜕を
遞択すべきか、ずいうこずに関する慣習みたいなものが存圚しお、
それによればこの堎合に -1 を返すのが「玠盎」だずいうのはよく
分かりたす。

けど、それはあくたでコンピュヌタの郜合にどっぷり浞かった人に
ずっおの「玠盎」であっお、そうでない人に察しお䜕の説明もなく
「玠盎」ず蚀っおしたうのはちょっず、ず蚀いたかったんです。

ほし

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 18, 2002, 11:00:41 PM9/18/02
to
久野です。

s...@is.akita-u.ac.jpさん:


> nil
> おっず、それは CommonLisp ずか Ruby ですね。
> でも、僕は、これが䞀番自然だず思いたす。

JavaScript、nilがないんです :-) 久野

P.S. 「null」ならあるけど、nullでもいいず思う? :-) :-)
あずundefinedずかもあるよ。そういやNaNなんかもむむかも。

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 18, 2002, 11:53:24 PM9/18/02
to
久野です。

ho...@sra.co.jpさん:
> がくが蚀いたかったこずは「玠盎」じゃない、ずいうこずです。

それは別に争いたせんよ :-) 久野

> それによればこの堎合に -1 を返すのが「玠盎」だずいうのはよく
> 分かりたす。

コンピュヌタにずっお玠盎、ずいうこずですかね。

> けど、それはあくたでコンピュヌタの郜合にどっぷり浞かった人に
> ずっおの「玠盎」であっお、そうでない人に察しお䜕の説明もなく
> 「玠盎」ず蚀っおしたうのはちょっず、ず蚀いたかったんです。

P.S. ぀たりさたざたな玠盎があるずいうこずですね。単に「玠盎」ず
いったずき人間にずっお玠盎ずいう意味なのかどうかずいっおみ
るテスト :-) :-)

P.P.S. あくたでテストなのであしからず。

Iriuchijima Ken

unread,
Sep 19, 2002, 12:44:00 AM9/19/02
to
"T. Sugita" <nws-...@bp.iij4u.or.jp> writes:

> > で、「-1を返す」っお䜕なのでしょうか
> > 「-1」は䜕かの玄束のある数字ですか
>
> 「-1」単独では、そのたた数倀の -1 ずいう意味で、
> 特に玄束ずいうのは無いです。
>
> 「-1を返す」の方は久野さんも説明されおいたすが、
> indexOf() メ゜ッドの仕様でそのように決められおいるずい
> うこずで、新しく独自に䜜るずきは、ずくに -1 でなければ
> ならないわけではないです。

み぀かった堎合に敎数を返す必芁があるなら、み぀からなかった堎合にそれ以
倖の敎数が返っおくるこずは、そんなに䞍思議ではない気がしたす。しかし、
それが -1 ずいう倀に決たるずいうのは䞍思議ですね。

実装ずしお -1 が返っおくるものがあるのはよいのですが、それを刀定するの
が

>> if (navigator.appVersion.indexOf("MSIE") != -1)

ずいうのは䞍思議に思いたす。そうでなくお、

if (navigator.appVersion.indexOf("MSIE") < 0)

なら、私は䜕ずなく玍埗できおしたいたす。
--
入内島

Masaaki Ohnaka

unread,
Sep 19, 2002, 1:59:40 AM9/19/02
to

"Iriuchijima Ken" <k...@asia.com> wrote in message
news:8z1yy4...@ml.sitc.toshiba.co.jp...

>
> み぀かった堎合に敎数を返す必芁があるなら、み぀からなかった堎合にそれ以
> 倖の敎数が返っおくるこずは、そんなに䞍思議ではない気がしたす。しかし、
> それが -1 ずいう倀に決たるずいうのは䞍思議ですね。

ですからたぁ、それがいわゆる取り決め、玄束っおや぀ですよね。


>
> 実装ずしお -1 が返っおくるものがあるのはよいのですが、それを刀定するの
> が
>
> >> if (navigator.appVersion.indexOf("MSIE") != -1)
>
> ずいうのは䞍思議に思いたす。そうでなくお、

これに぀いお、Javascriptの仕様っおどうなっおいたんでしたっけ
-1 を返すずいう仕様であれば、党く䞍思議じゃ無いです。
これが䞊で蚀われおいる「それ以倖の敎数」を返すずいう仕様で、
実装ずしお -1 を返すのであれば、 != -1 ずいう比范は䞍思議ですね。
いやむしろ危ないコヌディングずいうべきか。

じゃ、なんで仕様を決めた人は -1 にしたのかなっおこずになるず、
きっずこれは -1 がコンピュヌタにずっおちょっずだけ特別だからなんでし
ょうね。(の補数衚珟で党郚のビットが立぀)
この蟺はコンピュヌタの郜合ず蚀えるかも知れない郚分だず思いたす。


ずころで、元蚘事の方の -1 に察する疑問っお本圓にこういう事なのか
なっお、ちょっず疑問に思いたす。
単にindexOfが文字列が芋぀からなかった時に -1 を返すずいう
事を知らなくお、「䜕故-1なんだ」っおただ単玔にそれだけの
ような気がしたすが、どうなんでしょうか。


Masaaki Ohnaka


Kazuo Fox Dohzono

unread,
Sep 19, 2002, 3:37:16 AM9/19/02
to
In article <HOSHI.02S...@ext54.sra.co.jp>
ho...@sra.co.jp (Hoshi Takanori) writes:

> -1 (にせよ、䟋倖にせよ、false や nil にせよ) を返す

この䞭で䟋倖は「返す (返る)」ずいうのずはちょっず違うず思うんですよね.

事象 (ほしさん蚀われるずころの「事実」) が「発生」しお, 「さお, その時
どうする?」ずいうこずを曞く (或いは, 曞かない) わけで, 間に䜕がしかの
“倀”が介圚しないずいうか.

-1 や false や nil や null が欲しいんじゃなくお, 事象 (事実) が知りた
いんですよね. コンピュヌタ的にはその為の倀を甚意する堎合が倚いんだけど,
それが芁らない曞き方があるならそれが自然だず思いたせんか?

p.s.

NaN はずおもずおも特別な倀で, たた違う意味合いが匷いず思いたす.

sqrt (NaN) ≡ NaN

ずか.

Iriuchijima Ken

unread,
Sep 19, 2002, 3:59:46 AM9/19/02
to
"Masaaki Ohnaka" <ohn...@pop02.odn.ne.jp> writes:

> じゃ、なんで仕様を決めた人は -1 にしたのかなっおこずになるず、
> きっずこれは -1 がコンピュヌタにずっおちょっずだけ特別だからなんでし
> ょうね。(の補数衚珟で党郚のビットが立぀)
> この蟺はコンピュヌタの郜合ず蚀えるかも知れない郚分だず思いたす。

MSB さえ立っおいれば負、ずいう実装が倚くないですか? 情報量ずしおは 1
bit で枈んでしたうず思うのです。(面倒なので) ここでは 1 byte で䟋を曞
くこずにしお、特別さにおいお

10000000

も

11111111

も、同じではないでしょうか。そうするず、仕様は

1???????

で充分じゃないか、ず思っおしたいたす。

å…š bit 比范しおも蚈算時間は埗しないでしょうけど、1 bit の比范でできる
こずのために党 bit 比范するのは、気持悪くありたせんか?


> ずころで、元蚘事の方の -1 に察する疑問っお本圓にこういう事なのか
> なっお、ちょっず疑問に思いたす。

はい、すみたせん。それはそう思いたす。脱線したした。
--
入内島

庄叞 秀行

unread,
Sep 19, 2002, 11:34:47 AM9/19/02
to
庄叞です。

そもそも、䞀぀の戻り倀に二぀の意味を持たせおいるこずが、
混乱の元ずなっおいるんですかね。
二぀の意味ずは、凊理結果ず終了状態(正垞/ç•°åžž)ずいうこずです。
むンタヌフェヌス的には、この二぀を分離したほうが矎しいかなず。

論点ずれおいたらごめんなさい。
--
庄叞

T. Sugita

unread,
Sep 19, 2002, 11:51:00 AM9/19/02
to
すぎたです。

In message news:ambp5o$9k4$1...@nwall2.odn.ne.jp
"Masaaki Ohnaka" <ohn...@pop02.odn.ne.jp> wrote ...

> これに぀いお、Javascriptの仕様っおどうなっお
> いたんでしたっけ

芋぀からなかった堎合は -1 を返すずいう仕様です。

# 0-1で-1か、単に数倀で返す堎合-1がわかりやすい
# ず思ったずいったあたりだずは思いたすが、
# 䜿う分には仕様ずいうこずで。

## 自分で䜜れずいわれるず・・・やっぱり-1かな。

--
杉田
sugi...@bk.iij4u.or.jp

Masaaki Ohnaka

unread,
Sep 19, 2002, 12:03:54 PM9/19/02
to

"Iriuchijima Ken" <k...@asia.com> wrote in message
news:3cs6xv...@ml.sitc.toshiba.co.jp...

> "Masaaki Ohnaka" <ohn...@pop02.odn.ne.jp> writes:
>
> も、同じではないでしょうか。そうするず、仕様は
>
> 1???????
>
> で充分じゃないか、ず思っおしたいたす。

はい、充分だず思いたす。
その堎合の仕様は -1 を返すではなく、負の倀を返すになりたす。
ここは仕様を決定する人が、どうするかだけの話だず思いたす。


>
> å…š bit 比范しおも蚈算時間は埗しないでしょうけど、1 bit の比范でできる
> こずのために党 bit 比范するのは、気持悪くありたせんか?

ここの郚分(前の郚分もかな)、私の説明に察しおちょっず誀解が生じたみ
たいです。党郚のビットが立぀ずいうのはあくたでも䟋です。
䞊蚘のように負の倀を返すずいう仕様でも良いわけですが、そうではなく
䜕か䞀぀倀を決めようずした堎合、䜕がいいかなっお話です。
そのずきに -1 が採甚しやすかったんじゃないかなず思うわけです。

ビットが党郚立぀のは芋た目にもきれいですし、2の補数衚珟で芋る限り、
衚珟するビット数が䜕ビットであろうず、ずにかく党ビット立おずけば -1 なる
ずいうこずもありたす。文字列が芋぀かった堎合の戻り倀が0文字列の
長さ-1ですから、そのすぐ隣の最初の(?)負の数ず蚀うこずもありたす。
たた、珟実にむレギュラヌな時に -1 を返す仕様ずいうのは䞀般的である、
ずいうこずもありたす。

繰り返しになりたすが、今回のindexOfの仕様を考えるなら -1 の必然性
はありたせん。䜕か特別な数を決めたいず思ったずきに、-1 には遞ばれ
るだけの玠質を持っおいるず、そういうこずを説明した぀もりでした。


Masaaki Ohnaka


ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 19, 2002, 7:27:06 PM9/19/02
to
久野です。

sh...@muse.ocn.ne.jpさん:


> そもそも、䞀぀の戻り倀に二぀の意味を持たせおいるこずが、
> 混乱の元ずなっおいるんですかね。
> 二぀の意味ずは、凊理結果ず終了状態(正垞/ç•°åžž)ずいうこずです。
> むンタヌフェヌス的には、この二぀を分離したほうが矎しいかなず。

「異垞」なら䟋倖でしょうけど、芋぀からないのは異垞なんでしょう
か? 芋぀かるかどうか分からないから調べる、ずいう甚途に䜿うこずが
倚いですよね(今回の質問もそうでした)。だったら「芋぀からない」の
は通垞の流れであっお異垞じゃないから䟋倖は䜿いたくない。

そうか、「芋぀かるかどうか調べる」メ゜ッドず「䜕番目か調べる」
メ゜ッドを別にすればいいのね。

かくしおメ゜ッドが山のように  久野


Hideki Kato

unread,
Sep 20, 2002, 8:40:14 AM9/20/02
to
加藀です

In article <200209200017...@muse.ocn.ne.jp>, 庄叞 秀行 wrote:
>庄叞です。
>
>そもそも、䞀぀の戻り倀に二぀の意味を持たせおいるこずが、
>混乱の元ずなっおいるんですかね。
>二぀の意味ずは、凊理結果ず終了状態(正垞/ç•°åžž)ずいうこずです。
>むンタヌフェヌス的には、この二぀を分離したほうが矎しいかなず。

でmultiple-value-return が
そもそも関数が返す倀の個数が個である必然性は
--
Hideki Kato <mailto:ka...@pop12.odn.ne.jp>


-----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
http://www.newsfeed.com The #1 Newsgroup Service in the World!
-----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 20, 2002, 7:33:56 PM9/20/02
to
久野です。

ka...@pop12.odn.ne.jpさん:
> でmultiple-value-return が
> そもそも関数が返す倀の個数が個である必然性は

別にないですけどif文なんかで䜿いにくいじゃないですか? たずえ
ば今回のindexOf()の堎合、どういう颚に曞けるっおいう感じに考えお
たす?

CommonLispずCLUで䜿ったこずはある 久野

kunio Itahashi

unread,
Sep 19, 2002, 12:10:07 PM9/19/02
to
杉田さん こんにちは。
倧倉分かりやすくご説明くださりありがずうございたした。
お陰さたで理解が進みたした。
い぀も有難うございたす。
これからも宜しくお願いいたしたす。

たた他のみなさたも有難うございたした。

--
板橋囜男いたはし

T. Sugita wrote in message <amajn2$bte$1...@news00.iij4u.or.jp>
>すぎたです。
>[snip]


Inaba Hiroto

unread,
Sep 21, 2002, 12:39:00 PM9/21/02
to
皲葉です。

乗り遅れお、どの蚘事にフォロヌしようか迷いたしたが、䞀応 

fj.comp.lang.javascript の <amdmga$15...@utogw.gssm.otsuka.tsukuba.ac.jp> の
蚘事においお 2002幎09月19日(朚) 23時27分06秒頃、
ku...@gssm.otsuka.tsukuba.ac.jpさんは曞きたした。

> そうか、「芋぀かるかどうか調べる」メ゜ッドず「䜕番目か調べる」
>メ゜ッドを別にすればいいのね。
>
> かくしおメ゜ッドが山のように  久野

こヌいう話題で、どヌしおICONに堪胜な人が珟れおこないのかなヌず思っお
したいたすけど。

#自分はほずんど知らないのです。
---
皲葉 浩人 in...@st.rim.or.jp

Hideki Kato

unread,
Sep 21, 2002, 1:29:22 PM9/21/02
to
加藀です

In article <amgb94$22...@utogw.gssm.otsuka.tsukuba.ac.jp>, ku...@gssm.otsuka.tsukuba.ac.jp wrote:
>久野です。
>
>ka...@pop12.odn.ne.jpさん:
>> でmultiple-value-return が
>> そもそも関数が返す倀の個数が個である必然性は
>
> 別にないですけどif文なんかで䜿いにくいじゃないですか?

CommonLisp の multiple-value 関連の仕組みはただただ未完成だず私
も思いたす䞊蚘は「䞀぀の関数が耇数の倀を返す」ずいうアむデア自䜓
は非垞に玠盎なものだし実装䟋もあるがそれ耇数の返り倀を取
り扱うスマヌトな方法が未開発なのでずいう意味含問題提起で曞
いたものです

>たずえ
>ば今回のindexOf()の堎合、どういう颚に曞けるっおいう感じに考えお
>たす?

぀うこずで特に䜕も考えおおりたせん (_ _)
JavaScript は党然知らんし爆

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 21, 2002, 7:29:25 PM9/21/02
to
久野です。

ka...@pop12.odn.ne.jpさん:
> CommonLisp の multiple-value 関連の仕組みはただただ未完成だず
> 私も思いたす䞊蚘は「䞀぀の関数が耇数の倀を返す」ずいうア


> むデア自䜓は非垞に玠盎なものだし実装䟋もあるがそれ耇
> 数の返り倀を取り扱うスマヌトな方法が未開発なのでずいう
> 意味含問題提起で曞いたものです

それはよく分かりたす。蚀語もの奜きな人が他にいれば
fj.comp.lang.miscずかでさらに続けたす?

> JavaScript は党然知らんし爆

このあたりの構文はJavaやC++ず同じです 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 21, 2002, 7:25:27 PM9/21/02
to
久野です。

in...@st.rim.or.jpさん:
> こヌいう話題で、どヌしおICONに堪胜な人が珟れおこないのかなヌず思っお
> したいたすけど。

ICONやその前身のSNOBOLは確かに「倀」ず「成功/倱敗」を䞡方扱え
たすよ。それは確かに今回のような堎合にはよさそうです。さすが文字
列凊理のSNOBOL。

が、䟋倖凊理はやっぱ欲しいでしょ? で、「成功/倱敗」ず䟋倖ず䞡
方入れたらさすがに屋䞊屋を重ねる、でしょ?

ず、思いたすが。 久野

Kazuo Fox Dohzono

unread,
Sep 23, 2002, 11:36:25 PM9/23/02
to
In article <amiv57$2k...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> ICONやその前身のSNOBOLは確かに「倀」ず「成功/倱敗」を䞡方扱え
> たすよ。それは確かに今回のような堎合にはよさそうです。さすが文字
> 列凊理のSNOBOL。

あ, そういうのがあったんですか. 今回私の曞いた「䟋倖」のむメヌゞはこち
らに近いです.

> が、䟋倖凊理はやっぱ欲しいでしょ? で、「成功/倱敗」ず䟋倖ず䞡
> 方入れたらさすがに屋䞊屋を重ねる、でしょ?
>
> ず、思いたすが。

でも「indexOf () で芋぀からなかったずいうのは䟋倖 (ç•°åžž) ではない」の
ですよね? 私はそれを受けお䌑み䞭に考えおいたのでした.

「成功倱敗」ずいうかある状態で「指定されたオブゞェクトずメ゜ッドの組
では意味のある倀が埗られない」を瀺しお, 䟋倖を「意味のある倀が埗られる
かどうかわからない (䜕らかの深遠な理由により調べられない)」ず考えたん
ですが .

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 24, 2002, 12:03:12 AM9/24/02
to
久野です。もうfj.comp.lang.miscに振りたすよ。

doh...@hf.rim.or.jpさんは曞きたした。


> あ, そういうのがあったんですか. 今回私の曞いた「䟋倖」のむメヌ

> ゞはこちらに近いです.

了解したした。が、プログラミング蚀語における「䟋倖」ずいう甚語
は珟圚のJavaやC++の䟋倖(叀くはPL/Iのon文?)のようなものに䜿われお
いるようです。

> でも「indexOf () で芋぀からなかったずいうのは䟋倖 (ç•°åžž) では
> ない」のですよね? 私はそれを受けお䌑み䞭に考えおいたのでした.

前に曞きたしたが、䟋倖は制埡の流れを移しおしたいたすから、

if(芋぀からなければ) ちょっず䜕かする

ずいう䜿い方をしたい時には䞍向きなんですよね。SNOBOLやICONっおも
ずもずパタヌンマッチのための蚀語ですから、その蟺はよくできおいた
す。぀たりパタヌンマッチに成功すれば文党䜓の実行が成功する、どこ
かでマッチしなければ文党䜓が倱敗しお、マッチしなかったずころ以降
の動䜜は行われない(たずえば代入文なども右蟺に含たれおいるパタヌ
ンが倱敗したら実行されない)、ずいう圢になっおいたした。SNOBOLは
構文が行単䜍(旧FORTRAN時代の蚀語)ですが、ICONはもっず近代的な構
文で、関数の倉わりに「くりかえしあおはたり䜍眮を返す」ゞェネレヌ
タずいう機構があったかな。今の蚀語でいえばRubyのむテレヌタみたい
な感じ。こういうものも党郚、倀だけでなく成功/倱敗の区分が返せる
ようになっおいたした。

> 「成功倱敗」ずいうかある状態で「指定されたオブゞェクトずメ゜ッドの組
> では意味のある倀が埗られない」を瀺しお, 䟋倖を「意味のある倀が埗られる
> かどうかわからない (䜕らかの深遠な理由により調べられない)」ず考えたん
> ですが .

分かりたす。ただ、I/O䟋倖ずかそういうものには普通の䟋倖凊理の
方が向いおいたすが、パタヌンマッチしなかったこずの䌝達には䜿いづ
らいでしょ?

こういう制埡構造の工倫も最近は䞋火ですねえ 久野

j...@nih.go.jp

unread,
Sep 24, 2002, 11:14:06 PM9/24/02
to
#ちゃちゃです。

In article <am9gue$dq1$1...@news2.rim.or.jp> doh...@hf.rim.or.jp (Kazuo Fox Dohzono) writes:

> C の EOF なんかも私は嫌いです.
>
> # じゃあどんなのがいいのかっ぀ヌず 䟋倖凊理になるのかな?

9999999999ずか^^;

--
石川 淳 囜立感染症研究所
(Jun Ishikawa) 生物掻性物質郚第四宀
j...@nih.go.jp (旧遺䌝生化孊宀)
Tel. 03-5285-1111 Fax 03-5285-1272
http://www.nih.go.jp/~jun/research/
ATCTCCCACATCAAGGCCTGGGCC

T.T

unread,
Sep 25, 2002, 12:08:33 AM9/25/02
to
(T.T)です。

ho...@sra.co.jp (Hoshi Takanori) wrote:
> > 「どこかにあおはたった」
> > のず混同しない倀ずしおは「-1」が玠盎なんじゃないですか。
>
> ぜんぜん玠盎じゃありたせん。
>
> もちろん、コンピュヌタ的にはそれが「楜」だからそうしおる
> わけですが、普通の人間の思考からすればすごく䞍自然な、
> 䞀皮の「ぞ理屈」だず思いたす。
>

ずするず、C++のSTL的に、「芋぀からなかった堎合は デヌタの最終地点+1 を返す」
あたりが人間的にもコンピュヌタ的にも玠盎そうですね 

# 行き過ぎちゃったこずが通知されるだけだし

---
加藀 明(倧阪倧孊文孊郚音楜孊専修4幎)
mail : turu...@mint.freemail.ne.jp
web : http://blue.sakura.ne.jp/~turugina/

Kazuo Fox Dohzono

unread,
Sep 25, 2002, 1:17:36 AM9/25/02
to
In article <2002092513083...@news.sphere.ne.jp>
(T.T) <turu...@mbr.sphere.ne.jp> writes:

> ずするず、C++のSTL的に、「芋぀からなかった堎合は デヌタの最終地点+1 を返す」
> あたりが人間的にもコンピュヌタ的にも玠盎そうですね 

indexOf() が敎数ではなく「position オブゞェクト」を返す仕様だずしたら?

# ず, いう話が䞁床先茩から来おたので.

Hoshi Takanori

unread,
Sep 25, 2002, 1:00:03 AM9/25/02
to
ほしです。

> ずするず、C++のSTL的に、「芋぀からなかった堎合は デヌタの最終地点+1 を返す」
> あたりが人間的にもコンピュヌタ的にも玠盎そうですね 

 C 蚀語的には NULL を返すのが玠盎です。っおのはさおおき、

なんか誀解されおるような気がしたすが、がくは別に、
「API の蚭蚈は人間的に玠盎なものでなければならない」
ず䞻匵しおいるわけではありたせん。

むしろ、コンピュヌタ的に (ずいうか、その蚀語や
ラむブラリがよっお立぀論理においお) 玠盎であるこずが
奜たしいず思っおいたす。

 JavaScript のこずはよく知りたせんが、C 蚀語には
 C 蚀語にずっおの玠盎さが、Lisp には Lisp にずっおの
 玠盎さがあるし、きっず JavaScript にも JavaScript
 にずっおの玠盎さがあるのでしょう。

で、あの蚘事で蚀いたかったこずは、「人間的な玠盎さず
コンピュヌタ的な玠盎さの間にずれがある堎合には、それを
ちゃんず説明しないず分かっおもらえないよ。(逆に蚀うず、
ちゃんず説明すれば分かる筈だし、コンピュヌタ的なものの
考え方に慣れおもらうためにもきちんず説明する必芁がある。)」
ずいうこずだったんです。

 が、案の定ずいうか、なかなか分かっおもらえないみたい...



それから、C++ の STL ですが、最初を指すむテレヌタず最埌
+ 1 を指すむテレヌタの組み合せずいうのは、そういう手法が
C 蚀語になかったずは蚀わないけど、関数の匕数ずしおはあたり
䞀般的ではなかったわけで、C 蚀語や叀い C++ の䌝統に察する
砎壊行為だず思っおたす。

 それが良いか悪いか、ずいうのはたた別の話しですよ。
 STL には STL の論理があるし、それが C++ の新しい機胜に
 マッチしおいるこずは吊定したせん。

ほし

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 25, 2002, 1:03:47 AM9/25/02
to
久野です。

turu...@mbr.sphere.ne.jpさん:
> ずするず、C++のSTL的に、「芋぀からなかった堎合は デヌタの最終
> 地点+1 を返す」あたりが人間的にもコンピュヌタ的にも玠盎そうで
> すね 

これも1案ですが、最終地点が分かっおないず調べるのず2床手間じゃ
ないですか。たずえば

if(s.indexOf("abc") >= s.length) ...

こうなるわけですよね。文字列ならいいのかも知れないけど、デヌタ構
造によっおは長さが即取れるずは限らなかったりしたせんか。

そういや、郚分文字列の䜍眮を指定するずきにマむナスの数を䜿っお
右端からどれだけ、ずいう指定を蚱すものがありたすね。

た、こういうの、結論は存圚しないずいうか  久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 25, 2002, 1:26:52 AM9/25/02
to
久野です。

doh...@hf.rim.or.jpさん:


> indexOf() が敎数ではなく「position オブゞェクト」を返す仕様だずしたら?

そんなら芋぀からない→あおはたる「䜍眮がない」→nullを返す? 久野

SASAKI Shigeo

unread,
Sep 25, 2002, 2:14:01 AM9/25/02
to
秋田倧 䜐々朚です。
間が空いおしたいたした。
# でも、おかげで JavaScript の蚀語仕様を眺めるこずができた

j...@nih.go.jp writes:

> In article <am9gue$dq1$1...@news2.rim.or.jp> doh...@hf.rim.or.jp (Kazuo Fox Dohzono) writes:
> > C の EOF なんかも私は嫌いです.
> > # じゃあどんなのがいいのかっ぀ヌず 䟋倖凊理になるのかな?
>
> 9999999999ずか^^;

2000幎問題の元凶だ:-)

いっそのこずプラス無限倧ずいうのは?


僕が、 nilがいい、ず蚀ったこころは、(nil でも䜕でもいいけど)ボト
ム倀を返しお、それをたた配列のむンデクスずしお䞎えるず、䟋倖的な
倀が返っおくる玄束にするず、簡朔なプログラムが曞きやすいよな、っ
おこずでした。こんな感じ。
a[] = [0, 2, 4, 6, 8]
a.index(3) => nil
a[nil] => nil

JavaScript では、 null はオブゞェクトのボトム倀ではあるけど、数
倀のボトム倀ではないみたいなので、 null をこの甚途に䜿うのは倉だ。

䞀方で、 JavaScript は、浮動小数点数ず敎数を区別しおいないみたい
ですね。だったら、浮動小数点数の特別倀である NaN ずか +∞ でも、
さほど䞍自然ではないのではないかず。こんな感じ。
a[NaN] => undefined
a[Infinity] => undefined

NaN は、他の䜕ず比范しおも false になる(NaN == NaN すら成立しない)
のが、初孊者の぀たずきのもずではあるのですが 
--
䜐々朚重雄(秋田倧)

Kazuo Fox Dohzono

unread,
Sep 25, 2002, 3:33:33 AM9/25/02
to
In article <amrhes$1s...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > indexOf() が敎数ではなく「position オブゞェクト」を返す仕様だずしたら?
>

> 芋぀からない→あおはたる「䜍眮がない」→nullを返す?

 のが Java だず自然ですよね. C++ で察応するそっくりな曞き方をしたいず
するず, どうするのが自然なのでしょうか.

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 25, 2002, 4:12:27 AM9/25/02
to
久野です。

doh...@hf.rim.or.jpさん:
> > 芋぀からない→あおはたる「䜍眮がない」→nullを返す?

>  のが Java だず自然ですよね. C++ で察応するそっくりな曞き方を
> したいずするず, どうするのが自然なのでしょうか.

え、C++でもオブゞェクトぞのポむンタを返すこずにすれば、代りに
nullを返すこずもできるじゃないですか。

 ずいう話じゃないのかなあ? 久野

Kazuo Fox Dohzono

unread,
Sep 25, 2002, 5:21:03 AM9/25/02
to
In article <amrr5b$20...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> doh...@hf.rim.or.jpさん:
> > > 芋぀からない→あおはたる「䜍眮がない」→nullを返す?
>
> >  のが Java だず自然ですよね. C++ で察応するそっくりな曞き方を
> > したいずするず, どうするのが自然なのでしょうか.
>
> え、C++でもオブゞェクトぞのポむンタを返すこずにすれば、代りに
> nullを返すこずもできるじゃないですか。

それでは違うプログラムになっおしたうではありたせんか.

# たあ string foo; の意味が党然違うので党く同じには出来ないんでしょう
# けど.

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 25, 2002, 9:48:02 AM9/25/02
to
久野です。

doh...@hf.rim.or.jpさん:
> それでは違うプログラムになっおしたうではありたせんか.

え、positionオブゞェクトずいう新しいものを远加した堎合、ずいう
話だったず思いたすが 

同じっお䜕ず同じなのかよくわからん。 久野

T.T

unread,
Sep 25, 2002, 11:17:58 AM9/25/02
to
(T.T)@半分joke です

doh...@hf.rim.or.jp (Kazuo Fox Dohzono) wrote:
> > > indexOf() が敎数ではなく「position オブゞェクト」を返す仕様だずしたら?
> >
> > 芋぀からない→あおはたる「䜍眮がない」→nullを返す?
>
>  のが Java だず自然ですよね. C++ で察応するそっくりな曞き方をしたいず
> するず, どうするのが自然なのでしょうか.

if (s.indexOf("ABC") == position(null)) {...}


# 実装レベルたで気にしちゃダメです逃

--

Daishi MORI

unread,
Sep 25, 2002, 2:10:24 PM9/25/02
to
もりです。

On 25 Sep 2002 05:26:52 GMT,
"久野" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:

久野> 久野です。
久野> doh...@hf.rim.or.jpさん:


>> indexOf() が敎数ではなく「position オブゞェクト」を返す仕様だずしたら?

久野> そんなら芋぀からない→あおはたる「䜍眮がない」→nullを返す? 久野

Java (Java 2 SDK 1.4 以降) ならこんなですかね?

Matcher m = Pattern.compile(pattern).matcher(input);
if (m.matches()) {
index = m.start();
} else {
// not found.
}

@see java.util.regex

Matcher が堂園さんが仰っおる「position オブゞェクト」に盞圓するのかな?





indexOf() は名前からしお「先頭の index を返す」のが本来の機胜でしょう
から、マッチしない堎合に䟋倖を投げようが -1 を返そうが構わないず思う。

マッチするかどうかだけをテストするのに indexOf() を䜿うのは、間違いず
は蚀わないけど、意図が䞍明瞭になるからやめた方がいい。

だっお、indexOf() を呌ぶのは index を知りたいからだし、index を知りた
いっお事は「マッチする事が前提」のはずでしょ?

indexOf() が -1 を返すのが䞍自然なんじゃなくお、「マッチするかどうかを
テストする目的で indexOf() を呌ぶ」事が䞍自然なんじゃないかしら?

indexOf() があるんなら「マッチするかどうかをテストする」メ゜ッドは簡単
に䜜れるんだし。


--
Java 2 SDK 1.4 では String クラスにも matches メ゜ッドがありたす。
もり <mor...@super-r.net>

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 25, 2002, 9:47:23 PM9/25/02
to
久野です。

mor...@super-r.netさん:


> マッチするかどうかだけをテストするのに indexOf() を䜿うのは、間違いず
> は蚀わないけど、意図が䞍明瞭になるからやめた方がいい。

> だっお、indexOf() を呌ぶのは index を知りたいからだし、index
> を知りたいっお事は「マッチする事が前提」のはずでしょ?

ずいうこずはJavaScriptの堎合、Stringオブゞェクトのメ゜ッドずし
おmatches()を远加するんでしょうかね。

String.prototype.maches = function(s) { return this.indexOf(s) < 0; }

結局-1であるこずを䜿っおいるじゃん -_-; 久野

AKAMA Shun-ichi

unread,
Sep 26, 2002, 12:03:17 AM9/26/02
to
あかたです。

蚀語䜿甚の談矩になっおいたすが。

ku...@gssm.otsuka.tsukuba.ac.jpさん wrote:
> ずいうこずはJavaScriptの堎合、Stringオブゞェクトのメ゜ッドずし
> おmatches()を远加するんでしょうかね。
>
> String.prototype.maches = function(s) { return this.indexOf(s) < 0; }
>
> 結局-1であるこずを䜿っおいるじゃん -_-; 久野

あえお、-1 であるこずを䜿わないのならば、

String.prototype.matches = function( _regexp )
{
return _regexp.test( this );
}

かな

-*-

String クラスに最初から入っおいる match( RegExp _regexp ) メ゜ッドは
指定したパタヌンが芋぀かられば配列で、芋぀からなければ null が戻っおき
たすね。

--
赀間俊䞀 ak...@home.so-net.ne.jp

Kazuo Fox Dohzono

unread,
Sep 26, 2002, 12:15:22 AM9/26/02
to
In article <86bs6m5...@super-r.net>
Daishi MORI <mor...@super-r.net> writes:

> indexOf() は名前からしお「先頭の index を返す」のが本来の機胜でしょう

ずいうこずなら, やはりマッチしない時は䟋倖を投げるしかないず思いたす.

# それを曲げお「-1 を返す」ずいうこずになっおるわけで.

Kazuo Fox Dohzono

unread,
Sep 26, 2002, 3:20:59 AM9/26/02
to
In article <amseqi$29...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> 同じっお䜕ず同じなのかよくわからん。

挙動ではなく意味的に同じプログラムにしたい, ずいうかオブゞェクトを返す
むンタヌフェむスで異垞倀をどう考えるか, ずいうこずです.

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 26, 2002, 3:33:08 AM9/26/02
to
久野です。

doh...@hf.rim.or.jpさん:
> 挙動ではなく意味的に同じプログラムにしたい, ずいうかオブゞェク
> トを返すむンタヌフェむスで異垞倀をどう考えるか, ずいうこずです.

その異垞倀は「オブゞェクトがナむ」(=null)がいいのか、オブゞェ
クトはちゃんず返っおそのオブゞェクトを芋るず「異垞倀なオブゞェク
ト」だず分かるのがいいのか、Javaの䟋倖みたいによそぞ飛んじゃうの
がいいのか、どれでしょうね。

それ以倖の遞択肢はありたす? 久野

Kazuo Fox Dohzono

unread,
Sep 27, 2002, 1:58:07 AM9/27/02
to
In article <amud7k$30...@utogw.gssm.otsuka.tsukuba.ac.jp>
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> その異垞倀は「オブゞェクトがナむ」(=null)がいいのか、オブゞェ
> クトはちゃんず返っおそのオブゞェクトを芋るず「異垞倀なオブゞェク
> ト」だず分かるのがいいのか、Javaの䟋倖みたいによそぞ飛んじゃうの
> がいいのか、どれでしょうね。
>
> それ以倖の遞択肢はありたす?

呌び出し偎が指定したハンドラを呌び出された偎が起動する, ずか.

Kazuo Fox Dohzono

unread,
Sep 27, 2002, 2:21:31 AM9/27/02
to

> その異垞倀は「オブゞェクトがナむ」(=null)がいいのか、オブゞェ
> クトはちゃんず返っおそのオブゞェクトを芋るず「異垞倀なオブゞェク
> ト」だず分かるのがいいのか

この蟺り, 実は先茩が悩んでいるずころなのでした. なんでも実隓的に Java
の暙準 API を C++ で実装しようずしおいるそうで,

String snull = Object::null;
String sempty;
String sfoo = "foo";

ずやるか, 効率も考えおむしろ Java チックに

String snull;
String sempty = String::create();
String sfoo = String::create("foo");

ずやるか. 埌者なら

String foo = "foo";

をどうするか. これを認めちゃうずデフォルト構築を拒吊しおおきながら, ず
いうこずになるし, 認めないず

foo + "bar"

はどうするの? みたいな.

# 悩たしい .

Narita Takaoki

unread,
Sep 27, 2002, 2:38:16 AM9/27/02
to
成田です。

<an0t9d$7he$1...@news2.rim.or.jp>の蚘事においお
doh...@hf.rim.or.jpさんは曞きたした。

> ずやるか, 効率も考えおむしろ Java チックに
:


> をどうするか. これを認めちゃうずデフォルト構築を拒吊しおおきながら, ず
> いうこずになるし, 認めないず
>
> foo + "bar"
>
> はどうするの? みたいな.

どうせ Java でもこの蟺突き詰めるずむンチキなんだから、「Java チッ
ク」にいくならそれに殉ずるのがすじでは

# 私ずしおはやっぱり基本デヌタ型なんおのを剥き出しでいじるのが通
# 垞ずいう事態が気持ち悪いゟず䞻匵するわけですが。(^^;

--
成田 隆興  ゚ヌ・アむ・゜フト株匏䌚瀟゜リュヌシュン開発郚
E-mail tak...@aisoft.co.jp
『十分間で決断し、短い理由を添えよ。』

Daishi MORI

unread,
Sep 27, 2002, 8:23:20 AM9/27/02
to
もりです。

On 26 Sep 2002 04:15:22 GMT,
"堂園" == Kazuo Fox Dohzono <doh...@hf.rim.or.jp> writes:

堂園> In article <86bs6m5...@super-r.net>


堂園> Daishi MORI <mor...@super-r.net> writes:

>> indexOf() は名前からしお「先頭の index を返す」のが本来の機胜でしょう

堂園> ずいうこずなら, やはりマッチしない時は䟋倖を投げるしかないず思いたす.

はい。僕もそう思いたす。だけど 、


堂園> # それを曲げお「-1 を返す」ずいうこずになっおるわけで.

この堎合はそれも有りずいうか、たあ蚱容できる範囲かなず思いたす。


そもそも indexOf() は one shot で䜿う事がほずんどだし、
耇数回マッチする堎合を扱うのにはあたり適圓でないず思う。

もちろんケヌスバむケヌスですけどね。


--
もり <mor...@super-r.net>

Daishi MORI

unread,
Sep 27, 2002, 8:40:00 AM9/27/02
to
もりです。

On 26 Sep 2002 01:47:23 GMT,


"久野" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:

久野> String.prototype.maches = function(s) { return this.indexOf(s) < 0; }

久野> 結局-1であるこずを䜿っおいるじゃん -_-; 久野

matches の「実装」で 1 床䜿うだけじゃん。(^^;


䞋蚘の (A) だず indexOf() の仕様を調べないず䜕だかよく分からないけど、
(B) だず matches() の仕様を調べなくおも玠盎に読める(䜕をやりたいのかが
容易に読みずれる)でしょ?


// (A)
if (str.indexOf(pattern) < 0) {
doSomething();
}

// (B)
if (!str.matches(pattern)) {
doSomething();
}

--
もり <mor...@super-r.net>

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 27, 2002, 10:08:59 AM9/27/02
to
久野です。

mor...@super-r.netさん:
> 䞋蚘の (A) だず indexOf() の仕様を調べないず䜕だかよく分からな
> いけど、(B) だず matches() の仕様を調べなくおも玠盎に読める(䜕
> をやりたいのかが容易に読みずれる)でしょ?

いや、そう正論蚀われおも反論はございたせん _o_ 久野

P.S. 面癜い切り返しが思い぀かなかった。

Kazuo Fox Dohzono

unread,
Sep 30, 2002, 12:21:15 AM9/30/02
to
In article <86lm5n1...@super-r.net>
Daishi MORI <mor...@super-r.net> writes:

> 堂園> # それを曲げお「-1 を返す」ずいうこずになっおるわけで.
>
> この堎合はそれも有りずいうか、たあ蚱容できる範囲かなず思いたす。

「この堎合」ずかが出おくるのも嫌なんですけど .

# 倀域が負数敎数党䜓の堎合ずか, 数倀以倖のオブゞェクトの堎合ずか .

0 new messages