Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript函数转换为coffee脚本_Javascript_Coffeescript - Fatal编程技术网

将javascript函数转换为coffee脚本

将javascript函数转换为coffee脚本,javascript,coffeescript,Javascript,Coffeescript,有人能帮我把下面的翻译成咖啡脚本吗 Step( function readSelf() { fs.readFile(__filename, this); }, function capitalize(err, text) { if (err) throw err; return text.toUpperCase(); }, function showIt(err, newText) { if (err) throw err; conso

有人能帮我把下面的翻译成咖啡脚本吗

Step(
  function readSelf() {
    fs.readFile(__filename, this);
  },
  function capitalize(err, text) {
    if (err) throw err;
    return text.toUpperCase();
  },
  function showIt(err, newText) {
    if (err) throw err;
    console.log(newText);
  }
);

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
您可以为此目的使用此网站,也可以从下载并安装代码,然后在您的计算机上使用

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;
}
我想这不是你期望看到的。 我用咖啡做实验。 不要使用js2coffee站点,在转换过程中会出现一些错误,这些错误可能很关键。我有一些。。
祝你好运

我会用
@
替换
这个
,只是因为它更像咖啡脚本。此外,您可能希望在那些
if
s-
if err?
中使用存在主义。我知道这会转换成稍微不同的JavaScript,但更可能是它的意思。@Aaron如果出错,则
没有任何错误。
err
将是
undefined
/
null
,或者它将是一个对象,因此布尔强制不会增加任何歧义。或者你的意思是,如果错误?
是一种审美偏好,这是合法的。@Trevor不知道
err
的值可能会是什么,它的可读性(因为你真正做的是检查是否存在)和正确性(我在罕见且有点可怕的情况下,看到了一个由空字符串表示的错误)。