Как бы я решил загадку кодирования с Javascript? - PullRequest
2 голосов
/ 08 февраля 2012

Существует веб-сайт Gild.com , на котором пользователям предлагаются различные головоломки и задачи по кодированию. Они могут быть выполнены на множестве языков, включая Javascript. Я заинтересован в решении этих загадок в Javascript, но я не уверен в следующем:

  • Как мне получить доступ к входному файлу, который должен быть передан в качестве аргумента?
  • Как мне вывести результат?

Мое понимание Javascript заключается в том, что он запускается изнутри страницы HTML, и что вывод на самом деле только в форме размещения значений в HTML, изменения DOM и т. Д. По этой причине мне не понятно, как Javascript могут быть использованы для решения этих типов проблем. Может ли кто-то, кто раньше пользовался Gild, или кто-то знает о моем вопросе, предложить, как действовать?

Примером проблемы может быть: указанный входной файл содержит положительное целое число, найдите сумму всех простых чисел, меньших, чем это целое число, и выведите ее.

<ч />

РЕДАКТИРОВАТЬ: Некоторые из приведенных ниже решений связаны с использованием внешних ресурсов, но в Gild я должен поместить свое решение в их редактор и затем отправить его таким образом, как показано на следующем рисунке:

enter image description here

Другими словами, я не думаю, что мое решение может иметь доступ к Node.js или другим внешним ресурсам.

<ч />

Редактировать: Вот несколько интересных статей, которые я нашел, и думаю, что они являются ответом на мой вопрос:

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

Я не тратил много времени на Gild, но у меня много подобных проблем в Project Euler.Я думаю, что лучший способ - это, вероятно, Node.js .

Если вы не знакомы, то Node - это, по сути, серверный JavaScript, который работает в движке Google V8.Установка его на вашем компьютере 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)

0 голосов
/ 08 февраля 2012

Если вы:

  1. на Mac,
  2. планируют сделать много таких головоломок, а
  3. готов заплатить 10 долларов, затем

Я настоятельно рекомендую CodeRunner . Он инкапсулирует среды выполнения для разных языков - от C до JavaScript - и позволяет быстро создавать и запускать разовый код любого типа. Просто взломайте ваш код, ⌘R, и результаты будут напечатаны прямо в том же окне.

Я не использовал файловый JavaScript в CodeRunner, но думаю, что предложения Кенниса подойдут. Чтобы вывести результаты:

console.log(...)

Легко, как пирог!

...