HTML5 [1]
CSS3 [1]
JavaScript [3]
JS in HTML5 [4]
Canvas (Context2D) [1]
Canvas (WebGL) [0]
Browser Technologies [2]
jQuery [1]
ExtJS [0]
Prototype.js [2]
SVG [2]
Browsers [2]
Mozilla Plugins [0]
XUL, Jetpack, etc.
Web [2]
MeowW [4]
iOS [0]
Алгоритмы [0]
Криптография [0]
Теория игр [0]
Теория вероятностей [0]
Математика [1]
Мат. анализ [0]
Алгебра [0]
Дискретная математика [0]
Теория графов [0]
Комбинаторика [0]
Теория чисел [0]
Комплексный анализ [0]
Матлогика [0]
Математическая логика, её связь с теорией алгоритмов и т.п.
Тензоры [0]
Геометрия [0]
Топология [0]
Дифференциальная геометрия [0]
Дифференциальные уравнения [0]
29 Сентябрь 2011 в 12:00:35
17:18:58
CoffeeScript - JavaScript в стиле Ruby, часть 1

Совсем недавно появившийся CoffeeScript уже получил довольно большую известность. Дело в том, что он позволяет писать на JavaScript с более простым и удобным синтаксисом. Относительно удобным :). По сути, CoffeeScript - это JavaScript в стиле Ruby. Немного непривычно, но быстро привыкаешь и уже начинаешь считать его удобным.

Как это работает?

Теперь логичный вопрос: как это работает? Ведь браузер не поддерживает CoffeeScript? На самом деле всё очень просто. Код на CoffeeScript транслируется в JavaScript-код. Вариант 1: мы используем CoffeeScript в Node.js. В таком случае нам надо воспользоваться менеджером пакетов ноды и установить в неё Coffee.

Code
npm install -g coffee-script

Кстати, файлы CoffeeScript имеют расширение .coffee. Можно также установить компилятор в качестве программы (написан на Ruby); но давайте не будем рассматривать этот вариант. Лучше вот вам второй - зайти на официальный сайт (http://jashkenas.github.com/coffee-script/), найти в меню ссылку "Try CoffeeScript", кликнуть... И получаем консольку, куда можно вводить код на CoffeeScript - а он динамически (можно даже на компьютер страницу сохранить, всё будет работать), в режиме реального времени будет компилироваться в JavaScript. Причём мы сразу увидим и код, и сможем его сразу запустить.

Ну и ещё один интересный вариант - интерпретировать CoffeeScript прямо на странице. Да, возможно и такое. Просто качаем скрипт отсюда: http://jashkenas.github.com/coffee-script/extras/coffee-script.js. Затем начинаем использовать:

Code
<script src="coffee-script.js"></script>  <script type="text/coffeescript">  a = 10  b = 20  </script>

Переменные

Ну что, пожалуй, начнём? А начнём мы с описания переменных.

Code
a = 10 # комментарий  b = true

На что мы тут обратим внимание? Во-первых, мы опускаем ключевое слово var - его ставить не нужно. Во-вторых, комментарии делаются знаком # - комменты с помощью // не работают, они интерпретируются как регулярки. Впрочем, работают многострочные /* */ комменты. В-третьих, мы не ставим ';' в конце строки - это не обязательно. Такой код компилируется в такой:

Code
var a, b;  a = 10;  b = true;

Отчётливо видно, что много излишнего кода, это вообще можно было записать в одну строку. Ну да ладно.

Функции

Синтаксис функций совсем уж непривычен - но удобен.

Code
a = ->    document

Чтобы сразу было всё понятно:

Code
var a;  a = function() {   return document;  };

Что здесь нового? Оператор -> для обозначения функции, все строки с отступом - тело функции. Из функции возвращается значение последней операции. Теперь передадим параметры:

Code
a = (x) -> x * x

Здесь я написал функцию в одну строку. Один параметр x, возвращаем x в квадрате.

Code
var a;  a = function(x) {   return x * x;  };

Пустую функцию создать совсем просто: a = ->. Из Ruby пришли очень интересные вещи. Например - указание параметров по умолчанию.

Code
x = (a, b = 10) -> a + b

Теперь - если мы не передадим параметром b - он получит значение 10. JS:

Code
var x;  x = function(a, b) {   if (b == null) {   b = 10;   }   return a + b;  };

Есть ещё одна очень интересная штука:

Code
x = (a, b...) -> b[a]

Это немного сложно для понимания, поэтому поясню: x(0, 1, 2, 3, 4). Здесь в переменную a упадёт значение 0; в b - массив из [1, 2, 3, 4].

Code
var x;  var __slice = Array.prototype.slice;  x = function() {   var a, b;   a = arguments[0], b = 2 <= arguments.length ? __slice.call(arguments, 1) : [];   return b[a];  };

Ещё забыл. Как передать в функцию другую функцию? Ну, кроме имени?

Code
x -> document
Code
x(function() {   return document;  });

"Литералы"

Есть ещё одна интересная штука. Выглядит примерно так:

Code
a = 10  b = "abc #{ a } dce"

Компилится:

Code
var a, b;  a = 10;  b = "abc " + a + " dce";

Обратите внимание, что кавычки обязательно двойные - при одинарных это не работает.

Массивы, объекты

Массивы в CoffeeScript выглядят также, как и в JS:

Code
a = [1, 2, 3, 4, 5]

Что не скажешь о хешах. В них можно опустить фигурные скобки:

Code
abc =    a:10,   b:20

Не забываем ставить пробелы. В Python и Ruby без них никак.

Оставим на будущее?

Давайте пока остановимся и оставим на будущее остальное? В CoffeeScript ещё найдётся, чего поизучать - условия и циклы, разные операторы, диапазоны... Ну и ООП - классы и наследование.

Просмотров: 6512 | | Теги: python, Ruby, coffeescript
Всего комментариев: 12
1 Master (19 Октябрь 2011 17:11:53) 0  
JS для Руби-программистов). Вряд человеку, привыкшему к javascript будет удобно. dry
Спам
2 CurtisgroUg (23 Июнь 2017 08:35:54) 0  
Последние женские новости здесь http://logwoman.ru/ - logwoman.ru
Спам
3 AlbertDow (01 Ноябрь 2017 03:24:26) 0  
Привет всем!
Нашел Приколы за день на этом сайте: http://himaan.ru :
http://himaan.ru/foto-pr....ki.html Путешествие по склепам и часовням Европы, Азии и Африки
http://himaan.ru/interes....cy.html - Вырезанные картины японской художницы
http://himaan.ru/foto-pr....ru.html
http://himaan.ru/foto-pr....ey.html
Спам
4 MelissaToump (02 Ноябрь 2017 21:37:23) 0  
Данное сообщение размещено здесь с помощью XRumer + XEvil 4.0
XEvil 4.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google (ReCaptcha-1, ReCaptcha-2), Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!
Вы читаете это - значит, это работает! wink
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.
Спам
5 OmYPewly (10 Ноябрь 2017 09:26:49) 0  
Mobileyell - это бесценный кладезь для тех, кто обожает новости и развлечения. На этом сайте вы увидите юмор, комиксы, головоломки, приколы, анекдоты, картинки, где нужно найти отличия видео приколы, лучшие клипы, фото, обои, видеоигры и еще много чего занятного.
Mobileyell – территория, где вас встретят развлечения, смех и отдых.
На нашем портале каждый найдет для себя что-то увлекательное.
Популярная музыка, кино, любовь, отношения, животные, афиша, красивые фото, красивые обои на стол, регулярно публикуемые на сайте заценит мужчина и женщина.
Те, кого интересует музыка бесплатно, песни могут на этом портале скачать музыку бесплатно 2017, песнь песней слушать онлайн бесплатно слушать онлайн песнь, хиты слушать онлайн, новое слушать онлайн, радио онлайн слушать бесплатно. Если уж говорить о радио, то больше всего наши посетители любят русское онлайн слушать бесплатно и европа плюс слушать онлайн. Отметим, у нас, представлены как давно полюбившиеся всем треки, так и музыка 2017. Если же вам больше нравится музыка прошлых годов, попробуйте музыку 90 х слушать онлайн, или же 80 слушать онлайн. Наш ассортимент настолько широк, что здесь можно шансон слушать онлайн, аудиокниги слушать онлайн и даже слушать онлайн детские песни и программы. У нас можно все песни слушать онлайн бесплатно и без регистрации.
Отныне любой слушающий музыку онлайн меломан, знает, что музыка онлайн бесплатно, музыка скачать бесплатно новинки – это Mobileyell.
Любители музыки также часто хотят скачать клипы бесплатно, смотреть клипы новинки, смотреть русские клипы или слушать клипы. Нередко ищут клипы песнь, клипы 2017 новинки, русские клипы 2017, зарубежные клипы, порно клипы, клипы 2016, клипы подряд, клип года.
Любители смотреть онлайн видео, а также фильмы и сериалы также будут рады контенту Mobileyell. У нас вы можете смотреть онлайн в качестве, смотреть фильмы онлайн в хорошем бесплатно, смотреть онлайн все серии подряд, смотреть онлайн русское, эфир смотреть онлайн.
Заходите на Mobileyell скачать видео, смотреть видео бесплатно, ютуб видео смотреть, более того с нашей помощью можно даже своими руками видео сделать. На Mobileyell представлено видео про все на свете, русское видео, видео 2017, домашнее видео, видео майнкрафт, видео песни, видео года, голые видео, видео для детей, девушки видео, видео уроки, youtube видео, голый гол видео, эротика видео, видео как сделать своими руками различные вещи (в частности показана поклейка обоев). К тому же, новые видео появляются очень часто.
Кроме того, портал Mobileyell имеет широчайший ассортимент различных фото. Вы найдете фото года, фото девушек, домашнее фото, фото руки, фото волос, фото дети, кухни фото, торты фото, грибы фото. Хозяйки будут рады увидеть рецепты с фото. Скачать фото бесплатно можно абсолютно любое.
Но не каждое фото подойдет как обои на рабочий стол или обои на андроид, для этого есть специальный раздел на Mobileyell. Там вы сможете скачать обои на рабочий. Заметим, каталог обоев отличается невероятным разнообразием. Тут вам и живые обои, и обои девушки, и обои Украина, обои осень, обои минск, обои интернет. Где скачать красивые обои на стол бесплатно – такой вопрос больше не стоит, ведь для этого есть Mobileyell. Остается только определиться, какие обои вы хотите.
Найти отличия - http://mobileyell.info - смотреть сериалы онлайн
Спам
6 SvetikSexErync (16 Ноябрь 2017 01:54:11) 0  
Секс-шоп в Иркутске «Ledesire.shop» предлагает секс игрушки - конфидициально! Об этом никто не узнает:)

«Ledesire.shop» позволяет подобрать нужные секс игрушки в Иркутске, получить детальную информацию и сделать заказ, при соблюдении условий полной анонимности.

http://ledesire.shop - Cекс игрушки в секс-шопе «Ledesire.shop»
Спам
7 rbtaxiok46 (16 Ноябрь 2017 17:40:43) 0  
Оклейка такси
1 год гарантии. Немецкое качество
Лицензия в подарок
График работы 24 часа.

Ответы на вопросы
Какую плёнку для оклейки авто под такси мы используем?

Сеть станций нашей компании использует только надёжных и проверенных поставщиков плёнок для оклейки автомобилей под такси.
Наша организация оклеила винилом десятки таксопарков в городе Москва и имеем огромный опыт работ.
Испытав на практике данную плёнку мы гарантируем что это идеальное соотношение цены и качества для оклейки такси.
Спам
8 Julieadona (16 Ноябрь 2017 20:17:35) 0  
Данное сообщение размещено здесь с помощью XRumer + XEvil 4.0
XEvil 4.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google (ReCaptcha-1, ReCaptcha-2), Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!
Вы читаете это - значит, это работает! wink
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.
Спам
9 OksanaShiktoind (19 Ноябрь 2017 09:02:59) 0  
Всем доброго времени суток!
Боишься ошибиться с новым диваном?Спроси меня как этого не допустить.
Я приобрёл диван, который меня устроил и готов делиться практикой. Жена хотела миленький диванчик. Я от ее выбора был в шоке. Решил не впадать в панику. Начал смотреть габариты, размер, качество.
Самое первое: У дивана должен быть каркас, который вы можете четко увидеть или прощупать по периметру.
Второе: В диване должен быть бельевица-ящик. На нем как правило крепиться и держится весь диван.
Третье: Подлокотники тоже должны быть с каркасом, а не картонные. Попробуйте сесть в магазине на подлокотник и если он выдержит и не погнётся прощупайте его руками на предмет жестости ребер.
Четвертое: Дерево должно быть сухим, без коры, без сучков и просматриваться хотя бы местами.
Пятое: Диван не должен греметь и скрипеть и издавать любые другие посторонние звуки (допускается вибрация пружинного блока, но не звон).
Шестое: Диван должен быть из целикового каркаса и собран не на гвоздях. Дерево каркаса крепиться "гребенкой" в месте стыка.
Седьмое: Вы должны сами разложить диван и собрать в торговом зале, а лучше чтобы это проделали и ваши домочадцы. Все механизмы должны работать четко. Проделайте раскладку 5-10 раз подряд - многие механизмы "фиговенького качества" начнут тетрять первозданный вид и просто посыплются. Не доверяйте раскладку мебели продавцу - это очень подкачанные девушки и юноши и они Вам разбирать диван домой не придут так что давайте сразу сами smile
Вы тогда все вытерпите и футбол смотреть будете с комфортом и без молотка в руках.
Я это все изучил на собственном горьком опыте со своим первым диваном с молотком в руках. Купил я это первое бестолковое чудо в ТЦ "Тандем" в салоне на 2-ом этаже Лед*с. Ужас как промучался год, пока накопил на новый диван. А на вопрос гарантии мне в магазине сказали что с фабрикой произведшей мой ужастный диван они больше не работаю. Сказали у них фабрик в ассортименте моного и они за их качество ответственности не несут.
Спам
10 poputcbrii (22 Ноябрь 2017 07:11:50) 0  
Как просто и быстро заработать биткоины


Freebitco.in – это лучший биткоин кран, который работает уже много лет, стабильно и не смотря не на что. Платит он каждый час, для этого достаточно в разделе «FREE BTC» (первая ссылка в верхнем меню) вести капчу. А так же заработок на freebitco.in можно увеличить, если использовать разделы «Lottery», «Multiply BTC» и «Rewards» (меню сверху).
Для удобства использования сайта, если у вас есть проблемы с английским языком, можно использовать браузер гугл хром, уже со встроенным переводчиком. Для перевода в нем достаточно нажать на кнопку в правом углу, как на картинке и весь сайт freebitcoin станет "русским".

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

После нажатия синей кнопки «ROLL», вам помимо вознаграждения в сатошах на free bitcoin, будет начислено два бесплатных лотерейных билета и два бонусных балла.


Лотерейные баллы будут участвовать в еженедельном розыгрыше, в разделе «Lottery», где вы сможете увидеть, когда будет розыгрыш и какой куш можно выиграть, а так же вероятность выигрыша и количество ваших лотерейных билетов.

И самый рисковый и в то же время доходный способ увеличить свой заработок на freebitco.in, это раздел «Multiply BTC», по сути представляющим из себя азартную игру. Как она выглядит, можно увидеть на картинке ниже. Суть игры заключается в том, что вам необходимо угадать, какой число выпадет, а именно больше 5250 или меньше 4750, почти как белое и черное в рулетке. Можно, использовать метод повышения ставок вдвое при проигрыше, что гарантированно получать прибыль.

Если у вас нету биткоин кошелька, то сперва регистрируйте его.

https://ru.cryptonator.com/auth/signup/101474468 - Лучший биткоин кошелек с удобным выводом в рубли

https://freebitco.in/?r=2209286 - Регистрация в freebitco.in
Спам
11 Juliezadona (25 Ноябрь 2017 04:08:23) 0  
Данное сообщение размещено здесь с помощью XRumer + XEvil 4.0
XEvil 4.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google (ReCaptcha-1, ReCaptcha-2), Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!
Вы читаете это - значит, это работает! wink
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.
Спам
12 MashaErery (08 Декабрь 2017 21:18:44) 0  
Данное сообщение размещено здесь с помощью XRumer + XEvil 4.0
XEvil 4.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google (ReCaptcha-1, ReCaptcha-2), Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!

Вы читаете это - значит, это работает! wink
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.

См. YouTube "XEvil ReCaptcha2"
Спам
Имя *:
Email:
Код *: