Еще один повод научиться программировать
//Если вы можете читать этот код, скажите бармену//секретное слово дня чтобы получить бесплатно напиток от нас
//от себя добавлю: синтаксическиая подсветка мелками доставляет
Подробнее
”lf you canread trfccode.ten you- ьат&г t* III Secret wora of the day for a free аппк on us ,r Darrend = г Ц:
бар,вывеска,бесплатная выпивка,код,штендер
Еще на тему
Теперь Вы -- экмаскрипт-программист, поздравляю!
Пива мне.
"Beer.Secret word: parameters"
int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int i=0;
int secret = array[i++ + ++i] + i++ + ++i;
std::cout
Кароче, там дальше вывод этого числа.
let your_drink;
const reverse = str => str.split('').reverse().join('');
class Bartender {
static get str1() { return 'ers'; }
static get str2() { return reverse('rap'); }
static get str3() { return 'amet'; }
static request(preference) {
return `${preference}. Secret word: ${this.str1 + this.str2 + this.str3}.`;
}
}
Bartender.request(your_drink);
Давайте ещё интерфейс IBartender реализуем, перегрузим toString(), equals();
static - не кошерно. Залепим singleton)
з.ы. да, я знаю - мой пример абсурден. Хотя, с другой стороны - если есть есть множество реализующих IBartender классов, каждый из которых - синглтон... Но всё равно абсурд.
У нас создается экземпляр класса Object (bartender) с полями str1, str2, str3, и методом request. Как мы обращаемся к полям объекта в методе объекта? Правильно, через this!
А у тебя вообще поля static. Не знаю, что это у тебя за варварский язык программирования, но через this к статикам больше нигде нельзя обращаться.
> Как мы обращаемся к полям объекта в методе объекта? Правильно, через this!
Писал долгую тираду, почему я прав, потом понял, что мне лень было писать function и я использовал стрелочные функции, а они не сохраняют контекст вызова. Поэтому второй пункт снимается :) отсутствие проверки входных данных остаётся.
> А у тебя вообще поля static. Не знаю, что это у тебя за варварский язык программирования, но через this к статикам больше нигде нельзя обращаться.
Попробуй скопипастить.
var foo = class Foo { static bar() { return this; } }
foo.bar();
Получить функцию-класс Foo.
static нужен для того, чтобы можно было обращаться к методам прототипа, не инстанцируя класс (т.е. без var foo = new Foo();). Конкретно в этом примере я присваиваю класс Foo переменной, потому что какой-то баг с областью видимости в браузере.
Ключевое слово get указывает, что это метод-геттер, т.е. к нему можно обращаться, не вызывая как функцию.
Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
(() => {
'use strict';
let your_drink;
const reverse = str => str.split('').reverse().join('');
class Bartender {
static get str1() { return 'ers'; }
static get str2() { return reverse('rap'); }
static get str3() { return 'amet'; }
static request(preference) {
return `${preference}. Secret word: ${this.str2 + this.str3 + this.str1}.`;
}
}
return Bartender.request(your_drink);
})();
И да - вызов str1-str3 точно должен пройти?
var Foo = class Foo {
constructor() { this.baz = '1'; }
get bar() { return this.baz; }
set bar(value) { return this.baz = value; }
}
var smth = new Foo();
а затем вызывать по строчке
smth.bar; // 1
smth.bar = 2; // 2
smth.bar; // 2
smth.baz; //2
split.prototype = huesos;
++++++++++[>+++++++>++++++++++>+++>+++
.>+.+++++++..+++.>++..+++.
------.--------.>+.>.
Надо было это вывесить
http://www.linux.org.ru/forum/development/392747