Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
toJsStyle: (string)->
if @isJsStyle(string)
return string
return string.trim().toLowerCase().replace /\-(\w)/img, (match, word)->
return word.toUpperCase()
toCssStyle: (string)->
regExp = /[A-Z]/mg
unless regExp.test(string)
return string
return string.trim().replace regExp, (word)->
return '-' + word.toLowerCase()
isJsStyle: (string)->
if string.indexOf('-') isnt -1
return false
if string[0].toUpperCase() is string[0]
return false
if /[A-Z]/mg.test(string)
return true
return false
|
Цитата:
слыш а попробуй угарнуть, ты не обычную математику используй а бинарные операторы которые в разы быстрее работают))) ну или попробуй на асме написать все в 6 версии) ну точнее ты можешь либо компилировать в асм функции (если хватит мозгов конечно, но ты умный), либо можешь саму либу написать на асме, и просто внутри обычными сишными циклами все проходить, и ни че компилировать не придется, они и так бинарные. удачи ;) |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
На днях психанул и переписал всю билиотеку с нуля ЖВ Collection я пишу практически столько же времени, сколько пишу на JS, поэтому библиотека также меняется вместе с моими знаниями и опытом.
В общем из библиотеки было выкинуто всё, что не относится к итерациям, т.е. сейчас Collection - это микробиблиотека (всего 8кб полная сборка), которая предоставляет единый интерфейс для всех видов коллекций JS + гибкая настройка итераций (диапазон, направление, тип итератора и т.д.). А также Collection предоставляет невероятно удобную абстракцию легковесных потоков основанных на генераторах. Итак: 1) Выкинута поддержка древних браузеров. 2) Полностью переработаны интерфейсы методов для более удобного использования. 3) Удалён весь "лишний" код, т.е. не относящийся к итерациям. 4) Удалён ряд методов итераций (их функционал делается через оставшиеся методы). 5) Метод filter теперь сам не осуществляет фильтрацию, а добавляет новый фильтр в операцию. /// Всё будет сделано за один проход $C(...) .filter(...) .filter(...) .filter(...) .filter(...) .map(...) 6) Все методы потоков теперь возвращают промисы и их оч удобно юзать с async-await await $C(...).thread().forEach(...) Тоже самое касается дочерних потоков. В общем сегодня выпущу beta.1 и в течении нескольких недель стейбл релиз + дока. Также напишу короткую статью на хабр про реализацию потоков. |
kobezzza, я переодически заглядую в твой код, и интересно в чем преймущество использования https://github.com/kobezzza/Collecti...tors/thread.js
все такси всеравно выполняются на одном потоке, или я не так понял? |
| Часовой пояс GMT +3, время: 16:13. |