This commit is contained in:
Ilya Kantor 2014-11-16 01:40:20 +03:00
parent 962caebbb7
commit 87bf53d076
1825 changed files with 94929 additions and 0 deletions

View file

@ -0,0 +1,16 @@
function makeBuffer() {
var text = '';
function buffer(piece) {
if (arguments.length == 0) { // вызов без аргументов
return text;
}
text += piece;
};
buffer.clear = function() {
text = "";
}
return buffer;
};

View file

@ -0,0 +1,30 @@
var buffer;
beforeEach(function() {
buffer = makeBuffer();
});
it("возвращает пустую строку по умолчанию", function() {
assert.strictEqual( buffer(), "");
});
it("добавляет аргументы в буффер", function() {
buffer('Замыкания');
buffer(' Использовать');
buffer(' Нужно!');
assert.equal( buffer(), 'Замыкания Использовать Нужно!');
});
it("приводит всё к строке", function() {
buffer(null);
buffer(false);
assert.equal( buffer(), "nullfalse");
});
it("очищает буфер вызовом clear", function() {
buffer("test");
buffer.clear();
buffer("первый");
buffer("второй");
assert.equal( buffer(), "первыйвторой");
});

View file

@ -0,0 +1,34 @@
```js
//+ run
function makeBuffer() {
var text = '';
function buffer(piece) {
if (arguments.length == 0) { // вызов без аргументов
return text;
}
text += piece;
};
buffer.clear = function() {
text = "";
}
return buffer;
};
var buffer = makeBuffer();
buffer("Тест");
buffer(" тебя не съест ");
alert( buffer() ); // Тест тебя не съест
*!*
buffer.clear();
*/!*
alert( buffer() ); // ""
```

View file

@ -0,0 +1,24 @@
# Строковый буфер с очисткой
[importance 5]
Добавьте буферу из решения задачи [](/task/stringbuffer) метод `buffer.clear()`, который будет очищать текущее содержимое буфера:
```js
function makeBuffer() {
...ваш код...
}
var buffer = makeBuffer();
buffer("Тест");
buffer(" тебя не съест ");
alert( buffer() ); // Тест тебя не съест
*!*
buffer.clear();
*/!*
alert( buffer() ); // ""
```