- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
const WCT_SYMBOLS = new Buffer('ABCDEFGO'); /*задаём строку для поиска
в ней символов*/
const WCT_LENGTH = 3;
const fs = require('fs');
/*функция для перевода целой части числа из 10-й в любую сс*/
function Cel(number, c, out, offset, length){
var pos = offset + length - 1;
number |= 0; /*берём целую часть от числа*/
do {
out[pos--] = WCT_SYMBOLS[number % c | 0]; /*повторяем пока число не будет равно нулю берём целую часть при
делении числа на основание и берём остаток + 1 от деления целой части на 16, записываем
результат посимвольно в строку out*/
number = number / c | 0;
} while (number != 0);
while(pos >= offset)
out[pos--] = WCT_SYMBOLS[0];
}
(function wctEditor() {
const argv = process.argv;
if(argv.length < 4) {
console.log('Not enough parameters!');
process.exit(1);
}
const input = argv[2], output = argv[3];
if(!fs.existsSync(input)) {
console.log('File not exist!');
process.exit(2);
}
const BUFFER_SIZE = 1024;
const f1 = fs.openSync(input, 'r');
const f2 = fs.openSync(output, 'w');
const I = new Buffer(BUFFER_SIZE);
const O = new Buffer(WCT_LENGTH * BUFFER_SIZE);
while(1) {
var readBytes = fs.readSync(f1, I, 0, I.length, null);
if(!readBytes) break;
for(var i=0; i<readBytes; ++i)
Cel(I[0], WCT_SYMBOLS.length, O, i * WCT_LENGTH, WCT_LENGTH);
fs.writeSync(f2, O, 0, readBytes * WCT_LENGTH, null);
}
fs.closeSync(f1);
fs.closeSync(f2);
})();
/* TODO -oUser -cConsole Main : Insert code here */
1024-- 16.08.2014 18:07 # −1
kegdan 16.08.2014 19:36 # −1
1024-- 16.08.2014 20:00 # −1
Добавил в Cel параметр-буфер, чтоб без строкопитушни. Потом понял, что этот буфер можно увеличить и обрабатывать сразу много, но без позиции в таком случае не обойтись. А длина как-то сама напросилась: автор передавал функции основание системы счисления, а вот количество цифр зашил (а вдруг я захочу wct-2 с основанием 2?)
Итого из-за строкопитушни +1 параметр - буфер, из-за чтения из файла - смещение, для гибкости - количество символов :)
guest 16.08.2014 21:55 # +6
1024-- 16.08.2014 21:57 # 0
Pythoner 16.08.2014 22:36 # 0
Прошу прощения. Оторвался я.
HaskellGovno 16.08.2014 23:21 # +2
inkanus-gray 17.08.2014 02:06 # 0
bormand 17.08.2014 06:25 # 0
inkanus-gray 17.08.2014 17:15 # 0
kegdan 17.08.2014 17:22 # 0
Вам яйцы отгрызет как встарь
Коль память с кучи потечет
То член он тоже отгрызет
1024-- 17.08.2014 17:40 # +1
Я буду кодить на брейнфаке.
Ты скажешь, друг мой, - "Ну и чо?"
Так бесконечность не течёт!
kegdan 17.08.2014 17:52 # 0
Валяясь голым на диване
Но прежде чем компилить прогу -
Проверь что нету льва в кармане
1024-- 17.08.2014 18:00 # 0
Поведал тайну мне Кегдан.
Ведь я не знал, что без одежды
На мне останется карман.
* Надеюсь, ударение в нике не перепутал.
kegdan 17.08.2014 18:09 # 0
Тебе прощаю, грубиян
Способен лев в период смуты
Залезть в природный твой карман
1024-- 17.08.2014 18:22 # 0
О крепкий сейф, скажи, ты где?
С лапшой и уточкой из ванной
Хочу сокрыться я в тебе.
kegdan 17.08.2014 18:32 # 0
Вне времен лев карманный - знает все наперед
Телепортом владеет, быстрый как солнца свет
Коль течет твоя память, то спасения нет
1024-- 17.08.2014 18:41 # 0
Багор - он круче всяких львов.
Его возьму и всё сумею,
Им мир спасу без лишних слов.
kegdan 17.08.2014 18:58 # 0
Сравним с вселенским он огнем
Но коль возмешь - без лишних звуков
Оборотиться в миг царем
1024-- 17.08.2014 19:12 # 0
Не ради денег и еды
И жить, не ведая беды -
Поверьте, это мудрый ход.
Все фичи выучить за год
И на пацанском языке
Про гэ-цэ-цизм писать эссе -
Поверьте, это мудрый ход.
Вести себя как старый жмот
За каждый такт судьбу кляня,
Что был потрачен очень зря -
Поверьте, это мудрый ход.
kegdan 17.08.2014 19:24 # 0
Взрастает борода твоя
И скоро будешь ты как Столман
Мазоли есть с ноги царя
1024-- 17.08.2014 19:31 # 0
Смотреть на жабу буду свыше.
Плюсы (иль хаскель) - лишь дитя,
Занять не смогут сишки нишу.
kegdan 17.08.2014 19:43 # 0
но не готов я жизнь свою
губить бездумно на корню
мне не пристало бородой
трясти над над клавой в час ночной
искать закуску под ногой
Я слишком молод и хорош
От правды отличаю ложь
И не коснулась пальцев дрожь
Вот буду старым я когда
ведет пусть сишная звезда
меня в безумья города
1024-- 17.08.2014 19:36 # 0
Повезёт он вдаль меня.
Не на пыхе, а на сишке
Пишут люди нам осишки.
kegdan 17.08.2014 19:47 # 0
Я скачу не в те края
В тех краях как в диких снах
Жабий крик на серверах
1024-- 17.08.2014 20:13 # 0
Про того, кто не был няшкой.
Про лакнистого коня
Написал те строки я.
kegdan 17.08.2014 20:17 # 0
Что душа моя хвостата -
Молод был я, глуп когда-то
И болел за ЦСКА
1024-- 17.08.2014 20:55 # 0
Рассказавший всем про хвост:
http://joyreactor.cc/post/171530
То действительно беда -
Раз надел - и навсегда.
Ну а хвост тот, что в душе,
Он не страшен так уже.
kegdan 17.08.2014 21:03 # 0
По лезвия парнишка ходит краю
Ведь этот хвост - как на стене ружьё
К концу спектакля выстрелит оно
1024-- 17.08.2014 21:10 # 0
И хвост у мамы попросил?
Но вот беда: совсем не в моде
Хвосты сии на говнокоде.
kegdan 17.08.2014 21:20 # 0
Лишь не меняется одно
Коль к нам придешь с хвостом надетым
Погибнешь от хвоста того
guest 29.08.2014 22:39 # 0
guest 22.08.2014 00:26 # +4
>Карманный лев, природы царь
>Багор - он старше и мудрее.
New Achivment Unlocked: Triple cancer thread.
bormand 22.08.2014 05:43 # +1
kegdan 22.08.2014 09:54 # +1
guest 22.08.2014 16:51 # +5
kegdan 22.08.2014 19:09 # 0
eth0 22.08.2014 19:14 # 0
Vasiliy 28.08.2014 14:45 # 0
3.14159265 28.08.2014 14:56 # +3
Может. Для этого существует операция взятия корня:
kegdan 28.08.2014 16:27 # 0
eth0 29.08.2014 20:51 # 0
3.14159265 29.08.2014 21:08 # +1
guest 29.08.2014 21:19 # 0
kegdan 29.08.2014 21:42 # +1
guest 29.08.2014 22:38 # +3