All streams
Search
Write a publication
Pull to refresh
40
0
Кирилл Пименов @kirushik

User

Send message
А, виноват, вообще не разобравшись ответил, совсем не в ту степь.
На своём я последний раз gRaphael использовал — удобно
g.raphaeljs.com/
Что-то типа можно делать.
Может, цифры проставить? Было бы ещё нагляднее.
И Ruby с AS3 слились.
А мне наоборот, очевидно, что массив должен вести себя так же как хэш. И вернуть nil при запросе к элементу, не входящему в список ключей.:)
Но это, согласитесь вкусовщина.

Зато есть оператор <=>, который возвращает -1,0 или 1, в зависимости от. И он заметно упрощает восприятие кода в подобных случаях. Плюс — меньше разадресации массива, то есть более быстрый код.
[][-1] как раз вернёт nil и не является проблемой.

За алгоритм через цикл — одновременно респект (так как не требует погружения в стек, мой рекурсивный подход правильно в этом упрекнули) и дизреспект, так как это менее идиоматично.

И да,
>> find([],5)
NoMethodError: undefined method `<' for nil:NilClass
Судя по комментариям, нас ждёт векторный гипертекстовый Хабр
Спасибо.

Да, писать на Руби имеет смысл именно чтобы алгоритм в коде читался.
Понятно, что секунда для 10000 поисков в 10000 — это не серьёзно, если речь про большие числа и большие скорости.
Зато писать приятно и быстро. И даже кому-то ещё потом за тобой это переписывать.
Ну да.
Но встроенного бинарного нету, насколько я знаю.

Понятно, что существует NArray и всякие другие полезные либы.
Выдалось ещё 7 минут — вылизал.
pastie.org/928137
Добавил весьма обнадёживающий бенчмарк:
user system total real
Built-in Array::index 6.950000 0.020000 6.970000 ( 7.735154)
My own binary search 0.900000 0.030000 0.930000 ( 1.195101)
Вот когда «оно само» — это точно просчёт менеджмента.
Да, конечно кусок
arr = [1,2,3,4,5]
(arr+[7]).each{|z| p bis(arr,z)}

должен быть вложен в
begin

end if (__FILE__ == $0)


Забыл про собственные сниппеты.
Просто привычки вчитываться в постановку задачи:
С массивами так: есть упорядоченный массив, берем число из середины массива, сравниваем с искомым.
Ещё можно отменить пенсии, потому что lifenews.ru/news/21579

Тоже связи никакой, но новость животрепещущая. Хотя никто никого не убил, конечно.
Как выдуманная статья не по теме доказывает этот спорный факт?
Руби
pastie.org/927639
Правда, не совсем без тестов — две строки внизу меня хоть успокоили…

Дальше можно вылизывать
news.google.ru/news/story?pz=1&cf=all&ned=ru_ru&cf=all&ncl=d7tFq6tGQRLYRnMVuZBJIogaGz1DM
Лайфньюс одни такие.
Остальное там — перепечатки лайфньюсовской новости.
А в Комсомолке — ещё до кучи ссылка на неcуществующую статью РИАНовости. И это не просто битая ссылка, такой новости совсем нет: www.google.ru/search?hl=ru&newwindow=1&q=Ярослав+Мельниченко+site:rian.ru

Переставайте верить всему, что на заборах пишут, короче.
Аллюзия на заголовок Тёминой жежешечки, если кто не понял.
Вы что, и вправду верите всему, что пишут LifeNews?

LifeNews — минус один в карму:)
Круто. Перепечатка с life.ru.

Другие сенсационные новости, оттуда же:
Из глаз 30 москвичей извлечен пепел вулкана
Анастасию Стоцкую допросили в ГУВД
Русская подруга Мела Гибсона сбежала в Москву
Водитель-идиот таранит толпу
Врач-стоматолог задержан за развращение детей
Сбитый велосипедист покалечил пенсионера
Звезды теряют тысячи долларов из-за вулкана

Information

Rating
Does not participate
Location
Nürnberg, Bayern, Германия
Registered
Activity