- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
namespace ExtensionMethods
{
public static class MyExtensions
{
public static int WordCount(this String str)
{
return str.Split(new char[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}
}
....
string s = "Hello Extension Methods";
int i = s.WordCount();
guest 26.11.2011 19:57 # 0
guest 26.11.2011 20:07 # −3
В общем-то.
leotsarev 26.11.2011 20:33 # +2
roman-kashitsyn 26.11.2011 20:08 # −3
abatishchev 26.11.2011 21:17 # +6
Lure Of Chaos 26.11.2011 21:49 # +6
roman-kashitsyn 26.11.2011 21:50 # +5
Lure Of Chaos 26.11.2011 21:53 # +1
roman-kashitsyn 26.11.2011 21:55 # +1
Lure Of Chaos 26.11.2011 21:56 # +2
gegMOPO4 26.11.2011 23:22 # +2
Lure Of Chaos 26.11.2011 23:25 # +1
gegMOPO4 26.11.2011 23:29 # +1
Lure Of Chaos 26.11.2011 23:32 # +5
lucidfoxGovno 26.11.2011 23:57 # −4
Ada и PHP, наверное, самые любимые. xD
А ещё сколько языков в Си транслируется, который может выполняться под JVM...
roman-kashitsyn 27.11.2011 23:57 # 0
eth0 28.11.2011 13:18 # +5
А кто передатчик?
Lure Of Chaos 26.11.2011 23:33 # +1
TheHamstertamer 26.11.2011 23:22 # 0
roman-kashitsyn 28.11.2011 17:59 # 0
TheHamstertamer 28.11.2011 22:43 # 0
TheHamstertamer 28.11.2011 22:53 # 0
http://xrunhprof.wordpress.com/2007/11/18/language-benchmark-java-vs-python/
3.14159265 28.11.2011 23:17 # +2
Дело даже не в результатах. Вообще эквивалентности никакой.
>def readword(st, bufferSize=4096):
roman-kashitsyn 29.11.2011 10:12 # +3
С вводом сложнее: в примере в случае python использовалась кастомная функция разбиения на слова. java.util.Scanner работает на регулярных выражениях, т.е. требует гораздо больше вычислений. Переписывать код python на java у меня желания нет.
В итоге выяснилось, что автор бенчмарка просто недостаточно компетентен для проведения бенчмарков.
gegMOPO4 29.11.2011 12:17 # +3
roman-kashitsyn 29.11.2011 12:21 # 0
http://shootout.alioth.debian.org/
Разные люди пишут решение стандартных задач на любимом языке, самые быстрые решения выбираются в качестве эталонной реализации для конкретного языка, и уже эти эталонные реализации сравниваются.
leotsarev 26.11.2011 20:32 # +6
Идите в школу, мальчик, MSDN вам не нужен.
3.14159265 26.11.2011 22:34 # −3
Если бы я намеренно начал открывать для себя мсдн, то весьма скоро раздел шарпа на этом ресурсе стал вторым после пхп.
Или это априорное утверждение, что MSDN полон говна?
bugmenot 26.11.2011 21:21 # +2
3.14159265 26.11.2011 22:56 # +5
http://leotsarev.moikrug.ru/
Тады ж неудобна буит писать в их любимам linq флует-интерфейс.
http://stackoverflow.com/users/41956/abatishchev
bugmenot 27.11.2011 00:22 # +3
хех, предсказуемо
Lure Of Chaos 27.11.2011 02:05 # 0
actuator 27.11.2011 15:41 # 0
Lure Of Chaos 27.11.2011 15:43 # +3
actuator 27.11.2011 19:21 # +2
Вот, глянь. Методов дохрена, в стандартной документации иерархия игнорируется напрочь. Туда ещё хоть полшишечки лишних сахарных методов - и класс превратится в свалку.
Lure Of Chaos 27.11.2011 19:26 # 0
actuator 27.11.2011 19:32 # +1
phoenixx 28.11.2011 20:20 # 0
bugmenot 28.11.2011 20:34 # +4
roman-kashitsyn 28.11.2011 00:01 # 0
absolut 29.11.2011 09:51 # 0
Dummy00001 26.11.2011 21:29 # +4
ты еще в функциональные языки загляни. может соратников найдешь - у них тоже такое специальное и своеобразное отношение к синктаксическим подсластителям.
как по мне ... ну че тут говорить. мой любимый язык Перл и этим все сказано. все что это экономит время, без потери производительности, как по мне чистый плюс.
roman-kashitsyn 26.11.2011 22:04 # +2
На светлую сторону склонять я пытаюсь, но тёмной стороной силы всё пропитано здесь.
Lure Of Chaos 26.11.2011 22:17 # +2
а диавол уже искушает христа.
lucidfoxGovno 28.11.2011 22:48 # 0
Dummy00001 26.11.2011 22:23 # +4
да и в темноте просто веселее.
istem 26.11.2011 22:32 # +2
lucidfoxGovno 26.11.2011 22:41 # −1
3.14159265 26.11.2011 22:37 # +4
А все, что без особой надобности усложняет язык и понимание кода. Так что становится неясно - принадлежит ли этот метод классу или это extesion откуда-то из недр проекта.
Тоже хорошо?
>чистый плюс.
Два плюса. В тред приглашается Тарас
guest 10.01.2012 00:33 # 0
lucidfoxGovno 26.11.2011 21:44 # −1
Сам метод нормальный, но подозреваю, что код, использующий этод метод говнище то ещё.
А если взглянуть на список разделителей слов, то он явно не полный.
abatishchev 26.11.2011 22:48 # +1
lucidfoxGovno 26.11.2011 22:59 # −1
lucidfoxGovno 26.11.2011 23:02 # −3
martin 27.11.2011 11:29 # +4
lucidfoxGovno 27.11.2011 11:38 # −3
jabber 27.11.2011 12:15 # −5
KirAmp 27.11.2011 13:39 # +3
lucidfoxGovno 27.11.2011 14:21 # +1
bugmenot 27.11.2011 16:24 # +3
%govnouser% 28.11.2011 18:43 # +3
lucidfoxGovno 27.11.2011 16:32 # −5
>ЧёЯДелаюНеТак?
может много троллишь?
lucidfoxGovno 27.11.2011 16:39 # −7
>можна
>толька
>платить
Значение
1 Отдавать деньги или другие ценности в возмещение покупки, услуги, совершённого нарушения.
(люблю, когда мне платят платиной)
2 Перен. возмещать, воздавать, совершать ответное действие
(не люблю)
3 Платить натурой.
(тоже не плохо от лиц противоположного пола)
KirAmp 27.11.2011 13:37 # +3
martin 27.11.2011 14:42 # +8
gegMOPO4 27.11.2011 16:20 # +8
martin 27.11.2011 16:24 # +3
akaDElpher 05.12.2011 11:06 # 0
Это справочная информация, а новичку полезней гайд читать(книжку) о том, как правильно реализовывать тот или иной сценарий.
eth0 06.12.2011 07:34 # +2
3.14159265 28.11.2011 13:31 # 0
Искать говнокод в учебных примерах и на геймдеве - "I am a wimp" сложность.
martin 28.11.2011 15:56 # +1
3.14159265 28.11.2011 16:33 # +3
И мы вызываем метод
Мне неясно в чем профит? О каких тоннах кода речь?
lucidfoxGovno 28.11.2011 16:47 # 0
Выглядит приятнее обоих методов, но в этом случае нет автодополнения, специфического для данного интерфейса, и списка методов, которые есть в случае "bar.*".
3.14159265 28.11.2011 17:03 # 0
c чего ты взял?
import static ...ExtClass.* //импортит тебе все статик методы
roman-kashitsyn 28.11.2011 17:11 # 0
http://www.op4j.org/
3.14159265 28.11.2011 17:30 # 0
roman-kashitsyn 28.11.2011 18:51 # 0
3.14159265 28.11.2011 19:20 # 0
select(sales, having(on(Sale.class).getValue(), greaterThan(50000)))
getValue() - каждый раз выдает разные значения из списка.
Ну и структура проекта (для общего развития).
Как говорит автор: если можете - юзайте Scalу.
roman-kashitsyn 28.11.2011 19:21 # 0
Lure Of Chaos 28.11.2011 18:37 # +1
где у программера кнопка "счастье"?
%govnouser% 28.11.2011 18:44 # 0
массаж простаты.
bugmenot 28.11.2011 18:48 # +4
Lure Of Chaos 28.11.2011 18:53 # −2
если найти программиста-женщину
то можно обрадоваться умению считать лишь до двух
начиная и с живота тоже
martin 28.11.2011 17:07 # 0
Кстати о вызовах, представь как будет смотрется какой-то хитрый linq запрос через методы без этого сахара.
3.14159265 28.11.2011 17:15 # 0
Расскажу страшную тайну: Шарп изначально скраден с Жабы, чуть менее чем полностью.
>представь как будет смотрется какой-то хитрый linq запрос
Вот! Собственно о чем я и говорил позавчера:
>http://www.govnokod.ru/8652#comment122393
Выходит, что MS добавила в язык extensionы ради всего-то одной новой технологии - LINQ, и частного случая - флуент-интерфейса.
martin 28.11.2011 18:56 # 0
И что тут такого? Все у всех все тырят, и жаба тут тоже не исключение.
>Выходит, что MS добавила в язык extensionы ради всего-то одной новой технологии - LINQ, и частного случая - флуент-интерфейса.
Зато очень полезная и удобная технология. Мне кажется, что оно того стоило.
akaDElpher 05.12.2011 11:13 # 0
3.14159265 28.11.2011 17:24 # +1
Так вот безо всяких флуентов можно было писать подобный код, причем даже гибче.
Нет ограничений - метод возвращает this, нет ограничений на порядок: Form2.Style=.StyleНо и в бейсике оно довольно убого, а вот в языках с хорошими препроцессорами или макросами можно творить чудеса не захламляя язык ненужными дерьмом.
bugmenot 28.11.2011 17:26 # −2
3.14159265 28.11.2011 17:29 # 0
lucidfoxGovno 28.11.2011 17:32 # −8
3.14159265 28.11.2011 17:34 # 0
Интересней было бы послушать Тараса.
>Clojure есть макрос doto:
как я и сказал в спойлере: макросы - рулят.
roman-kashitsyn 28.11.2011 18:23 # +1
gegMOPO4 28.11.2011 19:33 # +5
bugmenot 28.11.2011 19:43 # +5
koodeer 28.11.2011 21:45 # 0
Сложно сравнивать макросы языков с динамической и статической типизацией.
Немерловые макры не менее круты, но их запись несколько сложнее (более громоздкая) именно из-за статической типизации.
roman-kashitsyn 29.11.2011 10:20 # 0
koodeer 30.11.2011 20:21 # 0
Повторю.
Насколько мне известно, в макрах Немерла нельзя так писать. Но зачем?
Вообще, в Nemerle2 макросистема будет кардинально переработана. Авторы обещают блэкджек и прочее.
А ещё немерлисты на рсдн писали, что готовы помочь скалистам с их макросистемой.
lucidfoxGovno 28.11.2011 18:27 # −6
Интересней было бы послушать Тараса.
тарас подтвердит: хорошо сосет
TarasB 29.11.2011 15:31 # +1
Я даже один раз нарвался на баг, когда with перекрыл внутренним именем внешнее. Но такие вещи надо на уровне компилятора пресекать или хотя бы предупреждение выдавать.
guest 29.11.2011 15:33 # 0
2)Анонимные объекты на основе with использовал когда-нибудь?
guest 29.11.2011 15:35 # 0
TarasB 29.11.2011 15:47 # 0
2. Да, и это шикарно.
with TBitmap.Create do...
jabber 28.11.2011 17:35 # −5
lucidfoxGovno 28.11.2011 17:36 # −6
что хуже?
jabber 28.11.2011 17:37 # −7
lucidfoxGovno 28.11.2011 17:40 # −5
у хохлов даже гумна своего нет, приходится пиздить у кацапов
jabber 28.11.2011 17:43 # −6
lucidfoxGovno 28.11.2011 17:45 # −7
jabber 28.11.2011 17:46 # −7
lucidfoxGovno 28.11.2011 17:49 # −7
martin 28.11.2011 18:51 # −4
Мои поздравления :D
roman-kashitsyn 28.11.2011 17:33 # +4
TheHamstertamer 28.11.2011 17:56 # +1
KirAmp 29.11.2011 11:23 # 0
http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/statements.html#with
lucidfoxGovno 28.11.2011 17:32 # −7
jabber 28.11.2011 17:44 # −8
lucidfoxGovno 28.11.2011 17:50 # −5
martin 28.11.2011 18:59 # −8
5 баллов :D
roman-kashitsyn 28.11.2011 17:29 # +1
В Clojure есть макрос doto:
gegMOPO4 28.11.2011 19:29 # +7
Lure Of Chaos 28.11.2011 21:12 # +3
absolut 29.11.2011 09:58 # +1
defecate-plusplus 29.11.2011 10:45 # +1
roman-kashitsyn 29.11.2011 10:55 # +1
gegMOPO4 29.11.2011 12:19 # 0
koodeer 29.11.2011 22:11 # 0
krypt 29.11.2011 14:52 # 0
КГ/АМ
TarasB 29.11.2011 15:33 # −1
guest 29.11.2011 15:33 # −2
roman-kashitsyn 29.11.2011 15:34 # +7
krypt 29.11.2011 15:53 # 0
guest 29.11.2011 15:59 # −2
krypt 29.11.2011 16:06 # +3
guest 29.11.2011 16:07 # −4
SmackMyBitchUp 07.12.2011 16:26 # 0
koodeer 29.11.2011 22:14 # +1
guest 10.01.2012 00:38 # +1
видны.
автору кода книги в оуки и пояснить где такое нужно юзать.
MaksTR 11.02.2012 03:01 # −1
guest8 09.04.2019 12:14 # −999