のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,688,819人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレサーバーサイドJavaScript総合

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
201 : 194 - 2012/02/03(金) 17:44:54.37 ID:???.net (+24,+29,-2)
>>200
それだけにしてみたが、何も起きない
210 : nobodyさん - 2012/02/21(火) 22:18:38.01 ID:???.net (+29,+29,-13)
>>298
意味不明な書き込みするなよキチガイ。
お前なんかには聞いてねーんだよヴァーカ。
てゆーかググって理解したからいいんだけどな。
211 : nobodyさん - 2012/02/21(火) 22:19:24.28 ID:???.net (+16,+27,+0)
>>210>>208宛てな。
214 : nobodyさん - 2012/04/05(木) 16:03:40.76 ID:???.net (+23,+29,-8)
>>213
ありがとう
こういう便利なものがあるとはしらなかった
でも、やっぱり、C#4.5を使いだすと、こういうやつですら面倒になる
216 : nobodyさん - 2012/09/03(月) 12:32:08.16 ID:???.net (-29,-27,-10)

WordPressの投稿欄の話とかしてる?
217 : nobodyさん - 2012/09/11(火) 20:38:40.39 ID:???.net (-27,-30,-312)
過去ログを表示するためにこういう感じのコードを組んだんだが、dotCloudのようなところだとあまりに遅すぎて死にそうになる
まとめて送れば解決しそうなんだが、ドキュメントを読んでもlazyで読み込みが完了したときにコールバックさせる方法がわからない
lazyでドキュメント完了時に呼びさされるイベントとかあったら教えてほしい
var state = fs.stat(path,function(err,state){
if(err)
return;
var stream = fs.createReadStream(path);
new lazy(stream)
.lines
.forEach(function(line){
socket.json.emit("req pastlog",CreateMessageFromText(line.toString()));
});
});
218 : nobodyさん - 2012/09/15(土) 18:44:32.31 ID:???.net (+16,+23,-4)
.joinをつなげたら解決した
220 : nobodyさん - 2012/09/25(火) 10:23:14.05 ID:???.net (+25,+29,-24)
小さいシステム2・3個nodeで作ってみた。普通に使えたけど、複雑なシステムになった時にどーなるかなと思ってる。
皆はどうですか?
221 : nobodyさん - 2012/10/02(火) 07:29:26.11 ID:???.net (+9,-30,-193)
>>220
node.jsで動くなり茶スクリプト作ったけど、あんまり使いたくないねえ

そういや、匿名関数でこういうことやると落ちるんだが、うちだけ?
function foo(){
this.Add = function(){
console.log("aaa");
}
function GetRoomList(callback){
var stream = fs.createReadStream($room_configure_file_name);
new lazy(stream)
.lines
.forEach(function(line){
this.Add();
})
});
}
}
222 : nobodyさん - 2012/10/02(火) 09:33:06.14 ID:???.net (+2,+3,-10)
括弧の対応が取れてないのはともかく、
上のthisと下のthisは同じものにならないんじゃないの?
223 : nobodyさん - 2012/10/02(火) 12:16:09.29 ID:???.net (+0,+0,-45)
ああ、本当だw
入れ子の無名関数のthisはどこにも参照されていない筈
224 : nobodyさん - 2012/10/02(火) 16:26:17.64 ID:???.net (+15,+13,-14)
>>222
>>223
そうなの?
C#ではこういう書き方ができたから、通ると思ったんだが…
JavaScriptだとダメなの?
225 : nobodyさん - 2012/10/02(火) 17:05:54.11 ID:???.net (+28,+28,-25)
>>224
>>221を書いた人なの?そもそもjsのプログラムとして完成させてくれないと何をしたいのかわからん
これこのままじゃ、fooって関数を宣言してるだけだよね?GetRoomListは宣言してるけど使ってないし何なの?
226 : 221 - 2012/10/02(火) 17:08:46.50 ID:???.net (-23,-30,-145)
>>225
すまん
肝心な部分が抜けてた
function foo(){
var collection = {}
this.Add = function(line){
//lineの内容に応じた処理を行う
//collectionに追加
}
function GetRoomList(callback){
var stream = fs.createReadStream("foo.txt");
new lazy(stream)
.lines
.forEach(function(line){
this.Add(line);
})
});
}
GetRoomList();
}
227 : nobodyさん - 2012/10/02(火) 17:35:07.60 ID:???.net (-3,-6,-106)
いやだからさwまずは文法エラーが出ないようにしろよw
括弧の対応とれてないだろうがw

無理やり文法エラーなおして、this.Add()の関数になにか適当な処理いれて、
最後にfoo()を呼び出すようにすれば俺の環境だとちゃんと動くぞ

上のthisと下のthisに違うものが入るかと思ったが、両方とも同じグローバルオブジェクトがはいるんだな
forEachの仕様をよく理解してなかったわ
228 : 221 - 2012/10/02(火) 19:41:47.18 ID:???.net (-27,-30,-248)
var lazy = require("lazy");

var fs = require("fs");

function foo(){
var collection = {}
this.Add = function(line){
//lineの内容に応じた処理を行う
//collectionに追加
console.log(line);
}
function GetRoomList(callback){
var stream = fs.createReadStream("roomlist.txt");
new lazy(stream)
.lines
.forEach(function(line){
this.Add(line);
});
}
GetRoomList();
}

$test = new foo();
文法エラーを修正したが、こんなエラーが出る
229 : nobodyさん - 2012/10/02(火) 19:48:55.73 ID:???.net (-27,-30,+0)
TypeError: Object #<Object> has no method 'Add'
at C:\Users\xxx\Documents\WebChat\test.js:17:9
at EventEmitter.self.forEach (C:\Users\xxx\Documents\WebChat\node_modules
\lazy\lazy.js:62:13)
at EventEmitter.<anonymous> (C:\Users\xxx\Documents\WebChat\node_modules\
lazy\lazy.js:46:19)
at EventEmitter.emit (events.js:93:17)
at self.bucket.yield (C:\Users\xxx\Documents\WebChat\node_modules\lazy\la
zy.js:152:18)
at Function.<anonymous> (C:\Users\xxx\Documents\WebChat\node_modules\lazy
\lazy.js:186:21)
at self.bucket (C:\Users\rirufa\Documents\WebChat\node_modules\lazy\lazy.js:
158:21)
at EventEmitter.emit (events.js:93:17)
at ReadStream._emitData (fs.js:1365:10)
at afterRead (fs.js:1347:10)
230 : nobodyさん - 2012/10/02(火) 19:55:27.08 ID:???.net (-27,-30,-74)
fooは普通の関数じゃなくてコンストラクターなのかw
それだと上のthisと下のthisは違ってしまうからうごかんわw

this.Add = function(line){
の上に
var self = this;
とかいれて、
下のthisをselfに置き換えればとりあえず動くよw
231 : 221 - 2012/10/02(火) 19:59:50.02 ID:???.net (+22,+29,+0)
ありがとう
それでやったら動いた
232 : nobodyさん - 2012/10/02(火) 20:36:44.53 ID:???.net (-27,-30,-106)
このforEachはArray.prototype.forEachかと思ったら、lazyモジュールが提供するforEachメソッドなのか
javascriptの場合、コールバック関数内でthisが何になるかは、コールバックを渡した関数の仕様に依存することになるから
仕様がはっきりしない場合はthisは使えないと思ったほうがいいね
234 : nobodyさん - 2012/10/02(火) 23:24:35.04 ID:???.net (+27,+29,-48)
varで宣言も別に悪くないと思うけどな。決めの問題で。
Pythonみたく代入した場所でスコープ決まったり、Rubyみたく変数名の表記で決まったり、それぞれルールがあるだけじゃね?
235 : nobodyさん - 2012/10/02(火) 23:39:57.49 ID:???.net (+27,+29,-16)
クソだと思うのはそれでいいから、二度と来ないでね
237 : nobodyさん - 2012/10/07(日) 07:01:11.25 ID:???.net (+17,+29,+0)
頭固いですね
238 : nobodyさん - 2012/10/07(日) 17:10:29.74 ID:???.net (+32,+29,-78)
Javascripのthisのスコープが変るのは、
オブジェクト生成後にあとからメソッドが追加できるという自由すぎる言語特性ゆえ、
thisのスコープをJavaなんかと同様にしてしまうと、弊害があると考えられたから。
これ結構常識だと思うのだけど...
242 : nobodyさん - 2012/10/20(土) 11:05:33.73 ID:nMqOZ8tI.net (-23,+26,-14)
すいません。クライアントサイドのスレと間違えました
243 : nobodyさん - 2012/12/25(火) 02:53:11.59 ID:???.net (-9,-4,-2)
相変わらず過疎ってるな
ちょい前にNodeの1.0ブランチできたってね
244 : nobodyさん - 2012/12/25(火) 13:51:52.77 ID:???.net (+14,+26,+0)
へー
250 : nobodyさん - 2018/01/15(月) 12:39:49.12 ID:???.net (-23,-11,+0)
>>248
もちろん8系
←前へ 1 2 3 4 5 6 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について