Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.01.2010, 16:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

DSL на JavaScript
Как вам DSL на JavaScript для описания роутинга на Node.js?

( fab )
  ( "/hello" )
    [ "GET" ]( "hello!" )
    ( /\/([a-z]+)/", function(){ return "hello, " + this.capture[ 0 ] + "!" } )
    [ 404 ]( "sorry, only lowercase names are supported." )
  ()
  [ 404 ]( "sorry, only /hello paths are valid." )
( fab )
Ответить с цитированием
  #2 (permalink)  
Старый 22.01.2010, 22:05
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Как это прочитать?

* по роуту /hello и методоу GET - выдать "hello!";
* по роуту hello/любое_в_[a-z] выдать результат функции (что хранит this.capture при этом?)
* по роуту /hello/не_найдено - соответственно;
* по /не_найдено - соответственно;

Сообщение от Kolyaj
Как вам DSL на JavaScript
Всё-таки, JavaScript-у можно избавиться от лишних скобок, иной раз они перегружают восприятие.

( fab )
...
( fab )


Открывает/закрывает описание роутов? Странно как-то - это функция fab в скобках? Дальше вызывается с атрибутом "/hello", от результата (возвращается объект) берётся по ключу ["GET"] и снова вызывается функция от этого результата с параметром "hello!"?

Или это вообще псевдо-код, который просто отдельно парсится затем? Если так - то синтаксис (особенно по скобкам) перегружен.
__________________
Тонкости ECMAScript
Ответить с цитированием
  #3 (permalink)  
Старый 22.01.2010, 22:34
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Нет, это обычный JS. По мне так чисто прикольно, мне такая форма записи не нравится. Разве что у новичков wow-эффект вызывать Хотя они от (function() {})() то в шоке
Ответить с цитированием
  #4 (permalink)  
Старый 22.01.2010, 23:02
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Ну, во всяком случае, скобки для (fab) явно лишние Даже Lisp напомнило по обилию скобок.

Я бы описал это всё обычным объектом без выпендрежа с вызовами функций )
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 23.01.2010 в 01:33.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2010, 09:04
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Dmitry A. Soshnikov
Ну, во всяком случае, скобки для (fab) явно лишние
Это для симметрии.
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2010, 18:09
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от Kolyaj
Это для симметрии.
А кто автор? Ты? Откуда знаешь? Понятно, что для симметрии, но, всё равно, излишне.

По сути: объектом, на мой взгляд, проще, наглядней и понятней.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 23.01.2010 в 18:32.
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2010, 21:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Dmitry A. Soshnikov
А кто автор? Ты?
Чур меня

Сообщение от Dmitry A. Soshnikov
Откуда знаешь?
Очевидно же.

Сообщение от Dmitry A. Soshnikov
По сути: объектом, на мой взгляд, проще, наглядней и понятней.
Ну мне идеология jQuery вот тоже не нравится, а новичкам проще.

Я ж ссылку привёл не в ключе "какая крутая штука", а скорее "ой как забавно сделали". Пользоваться таким я никогда не буду.
Ответить с цитированием
  #8 (permalink)  
Старый 23.01.2010, 22:34
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от Kolyaj
Ну мне идеология jQuery вот тоже не нравится
В смысле? А какая у jQuery основная идеология, я даже не знаю? С параметром - сеттер, без параметра - геттер? Или цепочки вызовов? Или ещё что-то? Если цепочки - мне нравится, удобно (но это не идеология jQuery, это до этого было).
__________________
Тонкости ECMAScript
Ответить с цитированием
  #9 (permalink)  
Старый 23.01.2010, 22:43
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Dmitry A. Soshnikov
А какая у jQuery основная идеология, я даже не знаю?
Идеология CSS. Селектор написали и события ему повесили. Хотя не нравится она мне, т.к. новичков сильно путает, и попробуй им ещё объясни, почему подгруженный контент не подхватывает события. Сам я jQuery попользоваться не успел, к тому времени, как она стала популярной, я уже не нуждался во фреймворках
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 16:17
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43