2

有一个名为Gild.com的网站有不同的编码难题/挑战供用户完成。它们可以用包括 Javascript 在内的多种语言完成。我有兴趣用 Javascript 解决这些难题,但我不确定以下几点:

  • 我应该如何访问应该作为参数传递的输入文件?
  • 我应该如何输出结果?

我对 Javascript 的理解是它是在 HTML 页面中运行的,并且输出实际上只是以在 HTML 中放置值、修改 DOM 等的形式。因此,我不清楚如何使用 Javascript用于解决这些类型的问题。以前使用过 Gild 或对我的问题有一些见解的人可以建议如何进行吗?

一个问题的例子是:给定的输入文件包含一个正整数,找到所有小于该整数的素数之和并将其输出。


编辑:下面的一些解决方案涉及使用外部资源,但在 Gild 上,我应该将我的解决方案放在他们的编辑器中,然后以这种方式提交,如下图所示:

在此处输入图像描述

换句话说,我认为我的解决方案不能访问 Node.js 或其他外部资源。


编辑:以下是我发现的一些有趣的文章,我认为它们是我问题的答案:

4

2 回答 2

3

我没有花太多时间在 Gild 上,但我在 Project Euler 上做了很多类似类型的问题。我认为最好的方法可能是Node.js

如果您不熟悉,Node 基本上是在 Google 的 V8 引擎中运行的服务器端 JavaScript。在您自己的 Mac/Windows 机器上安装它大约需要 2 分钟。它也非常快(考虑到它是 JavaScript)。

你会像这样使用它:

var fs = require('fs'); // the filesystem module
var contents = fs.readFileSync('theFile.txt', 'utf-8');
// Do stuff with the file contents...

前两行之后的所有内容都可以使用您在浏览器中编写的相同 JS 来完成,直到调用console.log()以吐出答案。

因此,如果您在桌面上名为 的文件中编写脚本getprimes.js,您将打开终端并输入node ~/Desktop/getprimes.js(假设您使用的是 Mac)

于 2012-02-08T04:17:23.357 回答
0

如果你是:

  1. 在 Mac 上,
  2. 计划做很多这样的谜题,并且
  3. 愿意支付 10 美元,然后

我强烈推荐CodeRunner。它封装了各种语言的运行时——从 C 到 JavaScript——并允许您快速构建和运行任何类型的一次性代码。只需将您的代码 ⌘R 组合在一起,结果就会直接打印在同一个窗口中。

我没有在 CodeRunner 中使用任何基于文件的 JavaScript,但我想 kennis 的建议会适用。要输出结果:

console.log(...)

非常简单!

于 2012-02-08T04:39:35.873 回答