こんな時、どう書くの? (CoffeeScript 編)
http_request.request( request_option, function (response) { var buffer = ""; response.setEncoding( "utf-8" ); response.on( "data", function (chunk) { buffer += chunk; } ); response.on( "end", function (chunk) { callback( buffer ); } ); } );
この様に、関数の引数として何らかのオブジェクトと、関数を渡す時はどう書けばいいだろうか?
関数の呼び出し時、括弧を付けない書き方もあるらしいので、こう書いたら関数オブジェクトも引数として収まった:
response.on "end", (chunk) -> callback( buffer );
ということで、一番上の JavaScript のコードは CoffeeScript のコードに直すとこのようになる:
http_request.request request_option, (response) -> buffer = "" response.setEncoding( "utf-8" ) response.on "data", (chunk) -> buffer += chunk response.on "end", (chunk) -> callback( buffer );