2011-10-27 9 views

答えて

3

CoffeeScriptに相当するものは次のとおりです。

Step (readSelf = -> 
    fs.readFile __filename, @ 
), (capitalize = (err, text) -> 
    throw err if err? 
    text.toUpperCase() 
), showIt = (err, newText) -> 
    throw err if err? 
    console.log newText 

あなたは、この目的のためにhttp://js2coffee.org/このサイトを使用するか、ダウンロードしてhttps://github.com/rstacruz/js2coffeeからコードをインストールし、あなたのマシン上でそれを使用することができます。

+0

私は 'this'を' @ 'に置き換えています。なぜなら、CoffeeScript-yがもっと多いからです。また、あなたはおそらくそれらの 'if's - ' err? 'の中に存在を必要とします。私はそれがわずかに異なるJavaScriptに翻訳されていることを知っていますが、その意味はもっとありそうです。 –

+0

@Aaronもし 'if err'に何も間違っていません。 'err'は' undefined'/'null'となるか、それがオブジェクトになるので、ブール型強制はあいまい性を追加しません。あるいは、もしあなたが「もし誤りなら?」を美的な好みとして意味するかもしれません。それは合法です。 –

+0

@Trevor 'err'がどのような値をとっているのか分かりません。あなたが本当にやっていることは存在をチェックしているので、読みやすさと正確さは分かりません。(まれに、恐ろしいことに、空の文字列)。 –

0
Step(
    readSelf = -> fs.readFile __filename, @ 
    capitalize = (err, text) -> 
    throw err if err 
    text.toUpperCase() 
    showIt = (err, newText) -> 
    throw err if err 
    console.log newText 
) 

コンバーターを使用しないでください。変換後にコードが破損する可能性があります。 前の投稿で確認できるコードの例が正しくありません。表現

throw err if err? 

が生成されますので:

if (typeof err !== "undefined" && err !== null) { 
    throw err; 
} 

を私はそれはあなたが見ることを期待しているからではないと思います。 私はコーヒーでの実験にsite of coffee creatorを使用します。 js2coffeeサイトを使用しないでください。変換に間違いがありますが、これは重大なことがあります。私はそれらを持っていた.. 幸運!