JavaScript 3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/09/26(木) 15:34:20.26_、_
( ,_ノ` ) プロフェッショナルはECMAScript デス 4へ
【前スレ】
JavaScriptスレ2
http://toro.2ch.net/test/read.cgi/tech/1330477388/l50
【関連スレ】
ECMAScript デス 4
http://toro.2ch.net/test/read.cgi/tech/1325448978/
+ JavaScript の質問用スレッド vol.109 +
http://toro.2ch.net/test/read.cgi/hp/1379772045/
【jQuery】JavaScript ライブラリ総合質問所 vol.3
http://toro.2ch.net/test/read.cgi/hp/1369444026/
【node.js】サーバサイドjavascript 2【Rhino】
http://toro.2ch.net/test/read.cgi/tech/1358937029/
むしろjavascriptでゲーム作ろうぜ
http://toro.2ch.net/test/read.cgi/gamedev/1048171505/
Canvasについて語ろう
http://toro.2ch.net/test/read.cgi/hp/1305093769/
0153デフォルトの名無しさん
2014/01/07(火) 22:31:49.36そやつらは果たして俺の低脳さに敵うのか?
おちんちんびろーん
…びろーん
0154デフォルトの名無しさん
2014/01/08(水) 00:17:48.75一般庶民以下は、天才と低能を同じ低能と見る
0155153
2014/01/08(水) 00:20:34.51ごめんもう消える
0156153
2014/01/08(水) 21:52:15.870157デフォルトの名無しさん
2014/01/08(水) 22:35:27.500158153
2014/01/11(土) 21:44:28.790159153
2014/01/12(日) 06:27:31.650160デフォルトの名無しさん
2014/01/19(日) 12:48:15.65処理を作りたいんですが、どのようにしたらいいでしょうか?
子が何階層まであるかは不明で、うまいやり方が思いつきません。
[{"key":"1", "title":"ファイル1", "children":{{"key":"12", "title":"ファイル2", "children":{...}}}},{"key":"2"...}]
0161デフォルトの名無しさん
2014/01/19(日) 12:59:50.46func(node)
{
for(i = 0 ; i < node.children.length ; i++)
{
func(node.children[i]);
}
doSomething(node);
}
0162デフォルトの名無しさん
2014/01/19(日) 13:00:21.18線形リストでござるか?
ループでたどるのがいんじゃないかしら。
function main() {
var n = search(node, "1");
if (n != null)
n.title = "タイトル";
}
function search(node, key) {
for (var n = node; n != null; n = n.children)
if (n.key == key)
return n;
return null;
}
0163デフォルトの名無しさん
2014/01/19(日) 13:02:26.69jQueryはDOM、つまりHTML用のライブラリだから
そんな用途には使えないよ。
普通に再帰処理書けば良い。
0164デフォルトの名無しさん
2014/01/19(日) 14:20:21.141
12
...
2
...
こういう構造だから線形リストではないよね。
最初の階層で一文字目が決まり、次の階層で2文字目が決まると
考えると構造はトライに近いかな。
[{key:"1", title:"title1", children:[{key:"12", title:"title12", children:[]}]}, {key:"2", title:"title2", children:[]}]
構造の一貫性を考えるとデータの定義はこうじゃないかな。
0165デフォルトの名無しさん
2014/01/19(日) 14:23:13.81ここでいうchildrenっていうキーどうしても必要だよね。
なんかね、違和感があるだよ。
childrenは不要ではないかと。
こういう構造を扱う、汎用的なライブラリが作れそうなんだが、
childrenというキーを引数に取らなきゃいけないのが
なんか気持ち悪い。
でも普通に考えたらやっぱりいるよなぁ。なんだろこの違和感。
0166デフォルトの名無しさん
2014/01/19(日) 14:26:01.16https://friendpaste.com/5mgzGGj24KWKgfQZiEY2we
0167デフォルトの名無しさん
2014/01/19(日) 14:30:51.72ちょっと冗長だし使いにくいね。
もう少し頑張ってみて。
0168デフォルトの名無しさん
2014/01/19(日) 14:32:52.40俺には無理だからもっと簡潔な書き方を君が俺に教えてください。
0169デフォルトの名無しさん
2014/01/19(日) 14:46:54.04childrenが嫌いならparentをもったらいいじゃない!!
木構造をデータベースに入れるときはparentを保存するようにしてた。
それを読み込んでchildrenに変換するのが超面倒だった思い出がありまくり。
0170デフォルトの名無しさん
2014/01/19(日) 15:16:43.62// 汎用関数
function select_node(nodes, children_key, callback) {
var ret = [];
function recursive(nodes) {
if ( !nodes ) { return }
for ( var i = 0 ; i < nodes.length; i++ ) {
var node = nodes[i];
if ( callback(nodes) ) { ret.push(nodes) }
recursive(nodes[children_key]);
}
}
recursive(nodes);
return ret;
}
var nodes = [ { key:"1", title:"title1", children: [ { key:"12", title:"title12" } ] }, { key:"2", title:"title2" } ];
// nodeを選択する
var founds = select_node(nodes, 'children', function(node) {
return node.key === "12";
});
// 見つかったものを書き換える
for(var i = 0; i < founds.length; i++) {
founds[i].title = "rename " + founds[i].title;
}
0171デフォルトの名無しさん
2014/01/19(日) 15:23:14.98if文の改行で誤魔化してるだけだよね。
簡潔さの欠片もないし、階層がいくつか不明って言ってるんだから再帰はないよね。
話にならないな君。
0172デフォルトの名無しさん
2014/01/19(日) 15:30:15.53わかってないね。
汎用関数っていうのは、一度作ってしまえばもう二度と見る必要がないってことだよ。
つまり、ツリー構造から検索するキーが違う別の処理を書くのに、
コピペする必要はなく、これだけでよくなってる。
var founds = select_node(nodes, 'children', function(node) {
return node.key === "1" || node.key === "2";
});
あんたの場合、長ったらしいコードに埋め込まれているからコピペするしかなくなってる。
見つかったものを書き換えるルールもこれだけで変更できる。
for(var i = 0; i < founds.length; i++) {
founds[i].title = founds[i].title + "を変更"
}
テストコードを書くときを考えても、select_nodeのテストコードを一度書けば終わりだし、
残りの書き換えコードはあとは間違えないような些細なコードだし、
そのテストコードも簡単。配列与えて変わっているか調べれば良い。
えっと、ここまでの偉そうなことを君、言える?
0173デフォルトの名無しさん
2014/01/19(日) 15:33:44.66ツリー上になっているDOMを$(セレクタ)で配列の形に変換するのと一緒。
select_nodeが$(セレクタ)のかわりでツリーを条件を元に見つけた配列にしている。
ツリーをそのまま扱うのは面倒なので、一旦見つかったノードの配列にしてしまう。
そうすれば後は、簡単に処理できるってわけ。
0174デフォルトの名無しさん
2014/01/19(日) 15:43:39.40冗長の人、スタックオーバーフローの言い訳をお忘れのようですが?
0175デフォルトの名無しさん
2014/01/19(日) 15:45:20.84誰もが通る道です。やさしく見守ってあげましょう。
0176デフォルトの名無しさん
2014/01/19(日) 15:48:42.69再帰コードをディスってるの?
再帰コードであるかぎりスタックオーバーフローの
可能性は限りなく0に近いが0にはならない。
お前、再帰を一切使うなって言ってるのか?
0177デフォルトの名無しさん
2014/01/19(日) 15:49:14.11分かりました。
再帰も書けない冗長なコード書いた君ですねw
0178デフォルトの名無しさん
2014/01/19(日) 15:50:30.83口ばっかりしかでてこないものよ。
0179デフォルトの名無しさん
2014/01/19(日) 15:58:35.60>再帰コードであるかぎりスタックオーバーフローの
>可能性は限りなく0に近いが0にはならない。
可能性が限りなく0に近いことの根拠はなんなの?
例として提示されたデータは最初の階層が1文字で
次の階層が2文字になってる。階層の深さが文字列の長さに比例すると
考えるなら限りなく0に近いなんて言えないと思うんだけど。
>>177
>再帰も書けない冗長なコード書いた君ですねw
書かなかったことと書けないことが同じことだとするなら
君はトライのコードを書けないからパフォーマンスが悪く
スタックオーバフローの可能性のある劣悪なコードを書いたってことになるけど。
0180デフォルトの名無しさん
2014/01/19(日) 16:05:22.81冗長君、君はなかなか痛い子だねw
0181デフォルトの名無しさん
2014/01/19(日) 16:05:50.48現在のスタックの量は、JavaScriptが動くマシンであれば
十分な量が与えられている。
かりにスタックの量が1MB、1回の関数呼び出しに
100バイト消費するとして10000階層になる。
nodeで実験したら、20930階層までできた。
反論終わり。
0182デフォルトの名無しさん
2014/01/19(日) 16:10:03.22反論じゃなくて回答ね。俺の質問に答えてくれたんだから。
文字列は何文字まで可能なのかな?
0183デフォルトの名無しさん
2014/01/19(日) 16:13:18.78文字列の長さは影響ない。
スタックを使うものじゃないのだから当然の話だが。
0184デフォルトの名無しさん
2014/01/19(日) 16:14:33.68> 次の階層が2文字になってる。階層の深さが文字列の長さに比例すると
メモリ使用量=スタック使用量とか思っていそうw
スタックも知らないのかな?
いや、そもそも、階層の深さが文字列な長さに比例するってのが
意味不明だな。
どういう意味?
0185デフォルトの名無しさん
2014/01/19(日) 16:14:34.75ちょっと何言ってるのかわからないからできるだけ省略しないで言ってくれると
助かるんだけど、文字列の長さは何に影響がないの?
0186デフォルトの名無しさん
2014/01/19(日) 16:15:04.63いや、そもsも、文字列の長さが
なんで階層の深さに比例するんだよw
0187デフォルトの名無しさん
2014/01/19(日) 16:17:46.120188デフォルトの名無しさん
2014/01/19(日) 16:19:59.74質問の答えになってないよw
階段とばすと会話がかみ合わなくなるからちょっとそういうやめてもらいたい。
>>160のデータの例では最初の階層はkeyが1文字で次の階層はkeyが2文字になってる。
そのことからトライに近い構造なんだろうと思って俺はコードを示した。
0189160
2014/01/19(日) 16:21:30.58別に例が一階層目のキーの1、二階層のキーにたまたま12って書いただけで、
別に階層が深くなれば、キーの名前も伸びていくなんて言ってませんよ。
0190デフォルトの名無しさん
2014/01/19(日) 16:22:21.97仮にキーの長さが伸びていったとしても、
それで消費するのはヒープの量じゃん。
ヒープはスタックとは別のメモリ領域に
割り当てられるって知らないの?
0191184
2014/01/19(日) 16:24:41.26ごっちゃにしているって説であっていたようだw
0192デフォルトの名無しさん
2014/01/19(日) 16:24:42.39いまさら出てこられて後出しされても困るんでできれば黙ってて欲しいかな。
keyの文字列と階層が比例するとは言ってはいないけど、keyの文字列と階層が
比例しないとも言っていないんで、俺はそれが比例するものだという仮定のもとで
コードを書いた。
0193デフォルトの名無しさん
2014/01/19(日) 16:25:31.69> 例として提示されたデータは最初の階層が1文字で
> 次の階層が2文字になってる。階層の深さが文字列の長さに比例すると
> 考えるなら限りなく0に近いなんて言えないと思うんだけど。
↓
> keyの文字列と階層が比例するとは言ってはいないけど、keyの文字列と階層が
0194デフォルトの名無しさん
2014/01/19(日) 16:26:37.58考えたんだwwww
そのほうが頭がおかしい。
0195デフォルトの名無しさん
2014/01/19(日) 16:27:46.03> jQueryで下記のように所持しているツリー用のデータをkeyを指定してtitleを変更する
> 処理を作りたいんですが、どのようにしたらいいでしょうか?
って書いてあるじゃんw
0196デフォルトの名無しさん
2014/01/19(日) 16:28:37.69>>191
いや、君は間違ってる。
俺がどういうことを考えたのかという認識に関しては>>189が合ってる。
俺が考えたことはkeyの長さと階層が比例する、かつ、階層の深さは不明だから再帰で
処理するとスタックオーバフローのおそれがあるよねということ。だから君はただ間違ってる。
ヒープとかは関係ないかな。
0197デフォルトの名無しさん
2014/01/19(日) 16:29:10.13だからさ、キーの長さが階層に比例したとしても
キーの長さはスタック領域ではなく、ヒープ領域に格納されるから
キーの長さは全く無関係なの。
なんでキーの長さにこだわってるのさ?
0198デフォルトの名無しさん
2014/01/19(日) 16:31:09.36トライっていう文字列を管理するデータ構造があってそれに
近いデータ構造なのかなって考えた。頭はおかしくないと思うんだけどなあ。
まあ本人が言っても説得力ないかw
>>195
うん? ちょっと何を言っているのかよくわからない。
0199デフォルトの名無しさん
2014/01/19(日) 16:31:43.98キーの長さは一体どこから出てきたんだw
キーの長さの話をした時点で、お前が馬鹿だっていうのは
みんなにバレてるんだよ。
0200デフォルトの名無しさん
2014/01/19(日) 16:33:04.17> トライっていう文字列を管理するデータ構造があってそれに
質問を読め
>>160
> jQueryで下記のように所持しているツリー用のデータをkeyを指定してtitleを変更する
ツリー用のデータって書いてあるだろ。
お前、よく仕様をちゃんと読まないで突っ走って作っちゃって
あとからこれじゃだめだって青くなるタイプだろ?
0201デフォルトの名無しさん
2014/01/19(日) 16:36:11.36文字列の長さと階層の深さが比例すると仮定するなら
文字列の長さが30000文字だったとするなら30000階層ノードを再帰的に
たどることになるでしょう。文字列の長さがヒープに格納されるっていうのはどういう
話をしているのかわからない。
>>193
最初読んでちょっと意味がわからなかったんだけど、たぶん主格を
読み間違ってるんじゃないかと。
>階層の深さが文字列の長さに比例すると考える
これの考えるという動作の主体は俺。
>keyの文字列と階層が比例するとは言ってはいないけど
これの言ってはいないという動作の主体は質問者である>>160。
これでたぶんわかるんじゃないかと。
0202デフォルトの名無しさん
2014/01/19(日) 16:36:59.450203デフォルトの名無しさん
2014/01/19(日) 16:38:00.21> 文字列の長さと階層の深さが比例すると仮定するなら
だから、仕様にそんなこと書いてないのに
仕様に書いてないことに対応するためのコードかくなって
こういう奴がいると迷惑なんだよ。
使いもしない、余計なものを作りやがっって。
0204デフォルトの名無しさん
2014/01/19(日) 16:40:11.59本当にお前は頭が悪いな。
> 文字列の長さが30000文字だったとするなら30000階層ノードを再帰的に
> たどることになるでしょう。文字列の長さがヒープに格納されるっていうのはどういう
文字列の長さが30000文字じゃなくても、
30000階層のノードがあれば同じことだろ。
つまり、スタックというのは階層が増えるたびに消費するもので
文字列の長さとはまったく関係ない。
だから文字列の長さ話をする必要はないんだよ。
そこからお前が、無駄なことを考えてるってわかるわけさ。
0205デフォルトの名無しさん
2014/01/19(日) 16:40:29.64>ツリー用のデータって書いてあるだろ。
書いてあるね、トライもツリーだから言葉上の整合性はとれるのよね。
>お前、よく仕様をちゃんと読まないで突っ走って作っちゃって
>あとからこれじゃだめだって青くなるタイプだろ?
どうなんだろうね、いまは働いていないけどこの先IT業界で
働き出したらそういうことになるのかもしれないね。まあ仕事就けるか
自体わからないけどね。君はそんな俺のことを思い浮かべながら仕事に
精を出したらいいと思うよ。
0206デフォルトの名無しさん
2014/01/19(日) 16:44:17.77必要にならないものをせっせと書いてる馬鹿がいたなーって思い出せばいいのか?w
どうせならこの言葉を覚えよう
http://ja.wikipedia.org/wiki/YAGNI
"You ain't gonna need it"[1]、縮めて YAGNI とは、機能は実際に必要となるまでは追加しないのがよいとする、エクストリーム・プログラミングにおける原則である。
理由[編集]
YAGNI原則を提唱する人々は、その理由として以下を挙げている。
あとで使うだろうとの予測の元に作ったものは、実際には10%程度しか使われない。したがってそれに費やした時間の90%は無駄になる[2]。
余計な機能があると我々の仕事が遅くなり、リソースを浪費する[2]。
予期しない変更に対しては設計を単純にすることが備えとなるが、今必要とする以上の機能を追加すると設計がより複雑になってしまう[2]。
あなたの人生の時間は貴重である。あなたの能力は単にコードを書くためではなく、現実の問題に集中するために使うべきである[3]。
結局はその機能は必要ないかもしれない。もしそうなったら、あなたがその機能を実装するのに費やした時間も、他のみんながそれを読むのに費やした時間も、その機能が占めていたスペースも、すべて無駄になってしまうだろう[3]。
コードをすばやく実装するために最も良い方法は、あまりコードを書かないことである。バグを減らすために最も良い方法も、あまりコードを書かないことである[3]。
0207デフォルトの名無しさん
2014/01/19(日) 16:45:13.16俺は仕事でコード書いたわけじゃないし、質問読んで思いついたままに
コード書いただけだよ。君はたぶん嘘を言ってると思うんだよね。
君は何も迷惑していないよ。迷惑を受ける道理がない。俺の返信を迷惑だと
思うなら俺に返信してこないと思うし。俺の言ってること筋通ってない?
>>204
>文字列の長さが30000文字じゃなくても、
>30000階層のノードがあれば同じことだろ。
同じことだね。それで、いまは文字列の長さと階層が比例するっていう仮定で
話をしているんだから、文字列の長さと階層はとうぜん関係あるし、深い階層を
再帰でたどればスタックオーバーフローになるよね。
0208デフォルトの名無しさん
2014/01/19(日) 16:45:43.840209デフォルトの名無しさん
2014/01/19(日) 16:48:14.16それはちょっと説得力に欠けるかと・・・
>>172
>つまり、ツリー構造から検索するキーが違う別の処理を書くのに、
>コピペする必要はなく、これだけでよくなってる。
こういうふうに言ってしまってるわけだし。読んでないと思ったでしょ?
俺読んでるんだからね。
0210デフォルトの名無しさん
2014/01/19(日) 16:48:26.12> 俺の言ってること筋通ってない?
うん。ガキだなって思うよ。
非論理的で、おおよそ数学者や技術者に向いていない性格
0211デフォルトの名無しさん
2014/01/19(日) 16:49:06.13まあそれもあるかな、コードを書きたかったっていうのが近いけど、まあどっちでもいいかw
0212デフォルトの名無しさん
2014/01/19(日) 16:49:21.65> それはちょっと説得力に欠けるかと・・・
有名な言葉 VS お前
説得力があるのはどっちだと思う?
0213デフォルトの名無しさん
2014/01/19(日) 16:49:59.36> 俺読んでるんだからね。
読んでるから何なんだよwwww
0214デフォルトの名無しさん
2014/01/19(日) 16:50:37.09どこが非論理的かな?俺もまだ君から論理的な言葉を聞いていないな。
0215デフォルトの名無しさん
2014/01/19(日) 16:54:18.45いやそうじゃなくて、伝わらんもんだな。
たとえばダウンタウンの浜田が人の頭を叩いちゃいけません
っていっても説得力感じないでしょ。浜田はそれで笑いを
とりまくってるわけだし。そういうこと。わかるだろ。わかれ。
0216デフォルトの名無しさん
2014/01/19(日) 16:58:15.65非論理的だろ。
スタックがオーバーするのは、階層の深さが問題になるのであって
文字列の長さは問題にならない。
文字列の長さが階層の深さに比例するというのは
お前が勝手に決めたルールであって、そんなルールは
ツリーという言葉には適用されない。
お前が言ってるのはキーの長さが階層の深さに比例する場合
(※注意トライツリーにこのような定義はない)であって
いまはそんな特殊なツリーの話はしていない。
故にキーの長さは階層の深さ(とスタックオーバーフロー)は無関係。
お前が言ってるのは「哺乳類は卵を生むよ。カモノハシと仮定するならね」って
言っているようなもん。
十分非論理的だ。
0217デフォルトの名無しさん
2014/01/19(日) 17:01:35.11> たとえばダウンタウンの浜田が人の頭を叩いちゃいけません
> っていっても説得力感じないでしょ。浜田はそれで笑いを
確かにお前が何を言っても説得力ないね。
はたから見てお笑い芸人みたいだからかな?w
0218デフォルトの名無しさん
2014/01/19(日) 17:05:43.94単に笑われているやつを一緒にするなw
0219デフォルトの名無しさん
2014/01/19(日) 17:24:50.85それはちょっと卑怯な論法かな。
確かにと言って話を変えてるよね。
君は>>206でYAGNIを覚えようと俺に言った。
しかし、言った本人が>>172でYAGNIを破ってるじゃないか。
どういうことなんだい。っていうのが俺が言いたかったこと。
確かにって思ってくれる?
>>216
>文字列の長さが階層の深さに比例するというのは
>お前が勝手に決めたルールであって、そんなルールは
>ツリーという言葉には適用されない。
俺はデータを見て文字列の長さと階層の深さが比例すると仮定してコードを
示しただけだから、仮定はルールとは違うよね。それはそのとおり。
文字列の長さと階層の深さが比例するという仮定はツリーという言葉のみから
導いたものでもないのですべてのツリーに当てはまるというのは偽である。
これもそのとおり。なんだか疲れるなあ。なんかあれだな、ストローマン論法しかけられてるみたいw
文字列の長さが階層の深さに比例するというのはルールだなんて俺言ってないし、
そのルールがツリーという言葉に適用されるとも言ってないw
では文字列の長さが階層の深さに比例するというのはルールだといったのは誰か? 君だよね。
そのルールがツリーという言葉に適用されるといったのは誰か? これも君だよね。
こういう自作自演の論法は無益なだけだと思うんだよなあ。俺無職なんだけど、お仕事してる人は
毎日こういうことと戦っているの?おじさん働きたくない!!
0220デフォルトの名無しさん
2014/01/19(日) 17:35:29.27> しかし、言った本人が>>172でYAGNIを破ってるじゃないか。
破ってないよ。
きれいなコードを書いただけ。
0221デフォルトの名無しさん
2014/01/19(日) 17:36:21.170222デフォルトの名無しさん
2014/01/19(日) 17:38:53.06>「哺乳類は卵を生むよ。カモノハシと仮定するならね」
どうでもいいっちゃどうでもいいんだけど、これって筋通ってないか?
(大前提)すべてのカモノハシと呼ばれるものは卵を産むものだ。
(小前提)すべての哺乳類と呼ばれるものはカモノハシと呼ばれるものだ。
(結論)ゆえにすべての哺乳類と呼ばれるものは卵を産むものだ。
小前提が間違ってるから論証としては間違ってるけど演繹は正しいよね。
小前提が成り立たないだけで。演繹が正しいならじゅうぶん論理的だと思うよ。
0223デフォルトの名無しさん
2014/01/19(日) 17:42:28.58じゃあ俺も破ってないよ、仮定がたまたま違ってただけ。
0224デフォルトの名無しさん
2014/01/19(日) 17:42:35.08性格には、だろ?
0225デフォルトの名無しさん
2014/01/19(日) 17:43:41.35仮定が間違っていたのだから
答えが間違っているっていうんだよ。
ツリーはトライツリーじゃないし、
トライツリーは階層が深くなるとキーが長くなると決まっていない。
0226デフォルトの名無しさん
2014/01/19(日) 17:56:08.61>仮定が間違っていたのだから
>答えが間違っているっていうんだよ。
んなアホな。俺いまのプロジェクト終わったら結婚するんだと言った人が
プロジェクトが終わらなかったとしても子どもができちゃって結婚する
かもしれないだろ。プロジェクトが終わるという仮定は間違ってても
結婚するという答えはあってるかもしれないだろ。俺はまだあきらめてない。
安西先生も言ってた、あきらめたらなんとかかんとかって。
>ツリーはトライツリーじゃないし
そうだね、質問した本人がそういう旨のこといってるからそれは間違いない。
>トライツリーは階層が深くなるとキーが長くなると決まっていない。
トライは文字ごとにノード作るんだから文字列が長ければ階層も深くなるよ。
0227デフォルトの名無しさん
2014/01/19(日) 18:19:52.93トライツリーを、理解するのに精一杯でしょw
文字列が合って、そこからトライツリーにするんじゃなくて、
トライツリーという構造が合って、その実装に
文字列キーに使ったり、文字列以外の物をキーに使ったりするわけ。
主体は文字列ではなくて、トライツリーなんだよ。
まだまだ素人、抽象化って考え方ができていない。
文字列がなければトライツリーという構造をイメージ出来ないでしょう?
0228デフォルトの名無しさん
2014/01/19(日) 18:28:53.18理解してるつもりなんだけどなあ。
>>166でコードも書いたし。
>文字列キーに使ったり、文字列以外の物をキーに使ったりするわけ。
トライで文字列以外のものも管理できるよって話ね。
文字列以外のものって数値とか?
>主体は文字列ではなくて、トライツリーなんだよ。
これはちょっと意味がわからない。何の主体?
0229デフォルトの名無しさん
2014/01/19(日) 18:31:17.20つまり、文字列は不要って話。
0230デフォルトの名無しさん
2014/01/19(日) 18:32:48.93コードは真似すればいいだけだから誰でもかける。
重要なのは考え方。
素人は、何かを知ったらそれで全部やろうとしてしまう。
つまり、ツリーと聞いてトライツリーのしかも一実装を
前提にしてしまうのがその証拠。
考え方を理解しているのではなく、
その一例を知ってるだけ。
0231デフォルトの名無しさん
2014/01/19(日) 18:33:04.27ちょっと勝手に話を終わらせないで欲しいなwまあいいや君あまり知らなそうだし。
0232デフォルトの名無しさん
2014/01/19(日) 18:34:32.25俺は素人だと君は言ってるだけだね。
そういう話は興味ないわw悪いけど。
技術的な話が聞けるかと思って話し振ってみたんだけど、無理そうだからいいですw
0233デフォルトの名無しさん
2014/01/19(日) 18:36:21.16トライツリーであるという思い込みで
アルゴリズム書くのが馬鹿だよね。
トライツリーじゃなかったらどうなるのさ?
あなたのアルゴリズムは使えません。って言われるのが落ち。
仕様をきかずに突っ走って実装する
典型的な素人を脱したつもりの素人。
0234デフォルトの名無しさん
2014/01/19(日) 18:40:29.86技術的な話?
>>160の話だよね。
>>160の問題を解決する、正しくて素晴らしい実装を示しただろ。
それを理解できず的はずれな指摘で難癖つけてるのはお前
お前が出したものはトライツリーでなければ使いものにならない
アマチュアコード書いて自己満足しているみたいだけど。
そして延々と自分の都合のいい話をしているだけ。
0235デフォルトの名無しさん
2014/01/19(日) 18:47:56.92仕事でここにいるわけじゃないし。仕事もしてないし。
素人というなら俺は生粋の素人。
ここはこうなのかと詳細つめて実装するのも面倒なんで
質問文読んでこういう仮定でこういうコード書いたって提示して
あとは質問者が選ぶだろうからそれでいいかと。俺のコードを
何がなんでも使えと質問者に押し付けてるわけではないし、
押し付けることができるわけでもないし。質問者がありがとうございましたと
返信してくれたらラッキくらいの本当に謙虚な気持ちで俺はここにいるわけ。
あなたのアルゴリズムは使えませんと言われてもじゃあしょうがないとしか思わないので
まあ別にどうでもいいかなそのへんは。君はそういうの気にするほう?大変じゃない?ここ2chだよ。
おじさん君のメンタルが心配だよ。
0236デフォルトの名無しさん
2014/01/19(日) 18:59:50.29正しいことを判断するのは君じゃないよねw
素晴らしいと自分で言うのはあれだよね、あれだと思うよ。君、あれだよ。
俺はトライのような構造という仮定でコードを書いた。
君は俺とは違う仮定でコードを書いた。
仮定が違うからお互いに言い合うことが的外れなのはまあ仕方ないかと。
すこしくらいすれ違うほうが会話は弾むものだよ、ご愛嬌ってことで。
俺と話して楽しかったでしょう?いやあ俺もね思わず時間を忘れたね、ひさびさに楽しかったね。
0237デフォルトの名無しさん
2014/01/19(日) 19:31:47.82仕事かどうかじゃなくて、
プログラマかどうかね。
本物のプログラマの品質と
素人(お前の)の違い。
仕事してなくても本物のプログラマはいる。
ようはゴミコードばらまかないでくれって話。
0238デフォルトの名無しさん
2014/01/19(日) 19:33:22.90> 俺はトライのような構造という仮定でコードを書いた。
その仮定のでお前は無駄なコードを書いた。
トライではなかったのだから。
まあ、トライにしてもコードの質は低いけどねw
かろうじて動く程度のコード
メンテナンス性など一切考慮されていない。
0239デフォルトの名無しさん
2014/01/19(日) 19:59:00.97プログラマじゃないしプログラマのようにコード書けると
思ってるわけでもないんで、なんで君はそう何度も俺に素人だと
言ってくるのかちょっとよくわからない。恋心とは違うでしょ?
違うと思うわ。俺はねそのへん冷静に考えられるだけの頭は持ってるつもりだから
君が俺に思いをよせてるとは当然思っていないよ、でも君がもしよ、もし女で、
ある程度容姿が優れていて俺のことを少なからず思っているというのなら
俺はメールアドレスを交換する用意があることをお伝えせざるを得ない。
>ようはゴミコードばらまかないでくれって話。
い や だ。
>>238
無駄というならこうやって2chをながめていることさえも
君にとっては無駄なことだろう。俺は生活の一部だけどねw
俺にとって無駄なことだからやるべきじゃないと俺のことを
心配してくれているとしたらほんとうにありがとうございます。
>メンテナンス性など一切考慮されていない。
そうだね。2chに投稿したコードを今後ともメンテナンスしていこうなどという
気概はまったく持っていない。俺もITのお仕事に就いたらそういうふうに考えるように
なるのかなあ。それって幸せなことなんだろうか。いまの俺には皆目わからない。
0240デフォルトの名無しさん
2014/01/19(日) 20:13:41.75うぜぇw
0241デフォルトの名無しさん
2014/01/19(日) 20:13:48.82好きなだけ一人相撲するといいよ
0242デフォルトの名無しさん
2014/01/19(日) 20:16:09.66こいつ脳みそおかしいw
0244デフォルトの名無しさん
2014/01/19(日) 21:38:36.54http://wiki.ecmascript.org/doku.php?id=harmony:proper_tail_calls
0245デフォルトの名無しさん
2014/01/19(日) 21:40:48.97nodeとそのchildrenが与えられるとして、末尾再帰を使ってツリー全体を処理するコードってどう書く?
0246デフォルトの名無しさん
2014/01/19(日) 21:45:16.570247デフォルトの名無しさん
2014/01/19(日) 22:08:38.50その言葉にカチンときたの?w
0248デフォルトの名無しさん
2014/01/19(日) 22:09:37.36再帰はスタックオーバーフローするから
使うべきじゃない。トライって知ってるか?
0249デフォルトの名無しさん
2014/01/19(日) 22:11:43.48これを末尾再帰にすればいいだけ?
ノードを処理するコード自体は
コールバックに分離されているからいいよね?
// 汎用関数
function select_node(nodes, children_key, callback) {
var ret = [];
function recursive(nodes) {
if ( !nodes ) { return }
for ( var i = 0 ; i < nodes.length; i++ ) {
var node = nodes[i];
if ( callback(nodes) ) { ret.push(nodes) }
recursive(nodes[children_key]);
}
}
recursive(nodes);
return ret;
}
0250デフォルトの名無しさん
2014/01/19(日) 22:37:31.45カモメ、カモメ、カチン、カチン。
かを抜いて言ってみな、おじさんからのアドバイスだ。
もう寝るからね。
0251デフォルトの名無しさん
2014/01/20(月) 00:12:20.770252デフォルトの名無しさん
2014/01/20(月) 00:13:37.11カモメ、カモメ、カチン、カチン。
かを抜いて言ってみな、おじさんからのアドバイスだ。
■ このスレッドは過去ログ倉庫に格納されています