NODE.JS - SUMMMMYYMYYMY EDITION / IBM® Javascript Enterprise SUM Solution ™
Wow, to niezwykle trudne pytanie, ale postaram się jak najlepiej odpowiedzieć na to pytanie.
KROK PIERWSZY - Serwer TELNET
Najpierw będziemy musieli otrzymać dane wejściowe, teraz każdy programista pro i korporacyjny (jak ja) powinien wiedzieć, że najlepszym sposobem na otrzymanie danych wejściowych jest skonfigurowanie serwera telnet !!!
Zacznijmy od podstawowego serwera telnet:
// Load the TCP Library
net = require('net'),
ibm = {},
fs = require('fs'),
clients = [];
//CREATES TEH TCP SEVA FOR INPUT
//COMMAND SUM and OBJECT (a, b, c, etc..) IS ONLY ELIGBLE
net.createServer(function (socket) {
clients.push(socket);
socket.write("WELKOME TO TEH SUM SEVA XD\n");
socket.on('data', function (data) {
ccc = [0,0,0,0,0,0,0];
if(!socket.needarray){
newdata = ibm.CLEANSOCKET(data);
if(newdata && newdata != '\b'){if(socket.nowdata){socket.nowdata += newdata}else{socket.nowdata = newdata}}else{
if(socket.nowdata){
if(socket.nowdata.replace(' ', '') == ('SUM')){
socket.write("Enter teh numbers\n");
socket.needarray = 1;
}
console.log(socket.nowdata);
socket.nowdata = null;
}}
}else if(newdata == '\b'){
socket.array = socket.array[socket.array.length - 1]
}else{
arraychar = ibm.CLEANARRAY(data);
if(arraychar != ('\n' || '\b')){if(socket.array){socket.array += arraychar}else{socket.array = arraychar}}else if(arraychar == '\b'){
socket.array = socket.array[socket.array.length - 1]
}else{
socket.write("Your sum: "+summm(socket.array));
socket.end();
}
}
});
}).listen(23);
ibm.CLEANSOCKET = function(data) {
return data.toString().replace(/(\r\n|\n|\r)/gm,"");
}
ibm.CLEANARRAY = function(data) {
return data.toString().replace(/(\r)/gm,"");
}
Naprawdę nie ma w tym nic specjalnego, to typowy serwer telnet. Stworzyliśmy kilka podstawowych funkcji czyszczących UNICODE, aby uzyskać ładny nieprzetworzony ciąg znaków, a także dodaliśmy naszą SUM
funkcję.
Teraz użytkownik będzie musiał wpisać „SUM”. Następnie poprosi o wejście teh numberz
, po wejściu uruchomiona zostanie funkcja summm () i obliczy sumę wszystkich wprowadzonych liczb.
KROK DRUGI - summm
Nadszedł czas, aby stworzyć naszą summm
funkcję, która pobierze sumę wszystkich wprowadzonych liczb.
Oto kod:
//DOOOO SUMMMMM STAPH
function summm(string){
//Cleans out the string by converting it from unicode to base64 and then ASCII
stringa = (new Buffer((new Buffer(string).toString('base64')), 'base64').toString('ascii'));
//We will now convert our string to a new string with the format CHAR_ASCII_CODE + '.', etc...
x = '', c = 0;
stringa.split('').forEach(function (i){
c++;
x += i.charCodeAt(0);
if (c != stringa.length){x+= '.';}
})
stringb = x;
m = '';
stringb.split('.').forEach(function (i) {
m += String.fromCharCode(i);
});
stringc = m;
stringd = stringc.split(',');
var stringsa;
string.split(',').forEach( function (i) {
if(!stringsa){stringsa = parseInt(i);}else{stringsa += parseInt(i);}
});
return stringsa;
}
I proszę bardzo. To twoje codzienne rozwiązanie IBM. TELNET POWER NA CAŁY SPOSÓB!
Najpierw wpisz SUM.
Serwer zapyta następnie o liczby, które chcesz dodać, i możesz wprowadzić je jako takie:a, b, c, etc..
Zaufaj mi w tym momencie, wszystkie botnety używają obecnie IBM® Javascript Enterprise SUM Solution ™;).
A oto dowód na to, że wszystko działa:
(KLIKNIJ)
$.sum=function(a,b){return a+b};
.