Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
(link (name forward) (J1 J2) (A2 A3) (K3 K3))
// base board
(board
(pieses....)
)
.....
(board
(previous board)
)
(piece-move North)
`(add "No" "rth") === North
`(`(add "a" "dd") "No" "rth") === North
(define (getCell row col) `(add row col))
(getCell "A" "8") === A8
(define move_attack ....)
(define move_swim ....)
(`(add "move_" action) figure)
(board
...
(link (name forward) (J1 J2) (A2 A3) (K3 K3))
...
)
[board
...
[link [name forward] [J1 J2] [A2 A3] [K3 K3]]
...
]
foreach:set k 0
foreach {n v} {1 "abc" 2 "def"} {
puts [format "%i, %-2s: %s" $k $n $v]
incr k
}
puts "last: $k, $n"
0, 1 : abc
1, 2 : def
last: 2, 2
my-foreach:proc my-foreach {vars lst code} {
puts "... start ..."
foreach _(v) $vars { upvar $_(v) $_(v) }
foreach $vars $lst {
puts " ... before ..."
uplevel $code
puts " ... after ..."
}
puts "... end ..."
}
my-foreach {n v} {10 "abc" 11 "def"} {
puts [format "%i, %-2s: %s" $k $n $v]
incr k
}
puts "last: $k, $n"
... start ...
... before ...
2, 10: abc
... after ...
... before ...
3, 11: def
... after ...
... end ...
last: 4, 11
Я: Следуй REST. Регистрация нового клиента — POST на /users, редактирование старого — PUT на /users/42
ОН: Да нафига такие сложности, я уже сделал POST, если в базе есть юзер с таким id то это обновление, а если нет, то регистрация нового. Все же просто.
Я: REST уже описан, а твой подход, назовем его «Как сказал Вася», неизвестен никому, даже тебе. Как ты будешь работать с заявками на сервере? Что тебе придется придумывать в «Как сказал Вася» чтобы работать с заявками. Кто это будет документировать?
ОН: Ну в заявках я буду использовать REST!
Я: Ок. Какая из систем проще, та, в которой везде используется REST, или та, в которой где-то используется REST, а где-то «Как сказал Вася»?
ОН: Я всё равно считаю, что мой подход проще!
Я: ?!
Остерегайтесь необдуманных аналогий...
Dagaz: Факториал — это просто!