Как стать автором
Обновить

Программирование смайликами

Время на прочтение2 мин
Количество просмотров14K
image

В честь сегодняшнего светлого дня публикую эту статью. Ведь вам тоже иногда кажется, что код состоит из смайликов?

Ruby


Определение значения по умолчанию или мимика губами:
foo ||= []
foo ||= {}
foo ||= ''
foo ||= 0


Прыжки жабы из гема Wash Out:
def_delegators :@config, :[], :[]=, :sort


Оттуда же, генерация кода, циклоп ест переменную:
@#{sym}


Обращение классу как к хэшу или массиву, снова жаба:
alias_method :regular_writer, :[]= unless method_defined?(:regular_writer)


govnokod.ru/2749
map(&:-@)

Похоже?
image

Жаба в чалме в тернарном операторе.
var.is_a Array ? {} : []


Еще один монстр от Ruby, применение оператора 'или' и 'и' ко всем элементам flags при помощи покер-фейса и закатывания губ.
flags.reduce(&:|)
flags.reduce(&:&)


Нужно сделать страшную рожу, если мы не уверены, что в хэше есть вложенный хэш:
session[:comments].try(:[], @comment.id)


bash



Параметры командной строки тоже вполне сходят за смайлики:

Каждый раз мне кажется, что это такая широкая извиняющаяся улыбка, говорящая «я забыл какие есть таски, выведи, пожалуйста, список»:
rake -D


CoffeeScript



Полнейшая паника при смешении Coffee и jQuery
$(@)

image

В CoffeeScript смайлики получаются легко
foo = 
  bar
  getBar:-> @bar # улыбаемся однострочникам в Coffee
  not:(o)-> !o


Slim


=< "Hello!"
=> "Hello!"
=<> "Hello!"


PHP


Грустно, когда кончается массив:
$var  = array(
  1 => 'one'
);


А еще грустнее, когда кончается вместе с передачей атрибутов:
$var  = some_function(array(
  'named_attr' => 'one'
));


Везде и повсеместно


Много где можно передать в функцию пустую строку:
('')
("")
['']
[""]

С этим можно пофантазировать, но когда попалось вот это, оно было быстро распознано как попа папуаски (потому что с туземским поясом на талии):
('.')

А вот — спящая сова:
[","]


Скайп, кстати, тоже иногда видит смайлики. Пересылка логов:

image

P.S.


Присылайте свои куски кода в комментарии, надеюсь, за сегодня соберем неплохую коллекцию.

upd:


Видимо, в этот праздник мысли сходятся:
Факториал на числах Чёрча — теперь и в смайликах
Теги:
Хабы:
Всего голосов 17: ↑13 и ↓4+9
Комментарии8

Публикации

Истории

Ближайшие события

Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
OTUS CONF: GameDev
Дата30 мая
Время19:00 – 20:30
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область