Примечание. Крупным размером в настоящей статье признается сумма налогов и (или) сборов, составляющая за период в пределах трех финансовых лет подряд более ста тысяч рублей, при условии, что доля неуплаченных налогов и (или) сборов превышает 10 процентов подлежащих уплате сумм налогов и (или) сборов, либо превышающая триста тысяч рублей, а особо крупным размером — сумма, составляющая за период в пределах трех финансовых лет подряд более пятисот тысяч рублей, при условии, что доля неуплаченных налогов и (или) сборов превышает 20 процентов подлежащих уплате сумм налогов и (или) сборов, либо превышающая один миллион пятьсот тысяч рублей.
Откуда инфа про размеры 100 и 500 тысяч рублей?
Здесь указаны суммы 600 000 и 3 млн руб:
Примечания. 1. Крупным размером в настоящей статье признается сумма налогов и (или) сборов, составляющая за период в пределах трех финансовых лет подряд более шестисот тысяч рублей, при условии, что доля неуплаченных налогов и (или) сборов превышает 10 процентов подлежащих уплате сумм налогов и (или) сборов, либо превышающая один миллион восемьсот тысяч рублей, а особо крупным размером — сумма, составляющая за период в пределах трех финансовых лет подряд более трех миллионов рублей, при условии, что доля неуплаченных налогов и (или) сборов превышает 20 процентов подлежащих уплате сумм налогов и (или) сборов, либо превышающая девять миллионов рублей.
Представьте просто, что кортеж (тапл) это массив. Содержимое можно менять функцией setelement/3. Длину менять нельзя.
Список — это просто односвязный список. На голову и хвост его можно поделить операцией "|"
Меняется нужный элемент через lists:nth/3
А вообще стоит почитать литературку)
Чтобы понять нужно изучить как работает gen_server. Рекомендую прочитать в книге от Джо Армстронга — pragprog.com/book/jaerlang/programming-erlang Там есть глава про основные бехейвиоры OTP.
В кратце — Функция exampe:start_link/0 c помощью ген_сервера запускает отдельный процесс, пид которого возвращает.
Это процесс имеет свой собственный стейт. внутри которого хранятся значения X и Y. Стейт — последний аргумент в хендлерах ген_сервера — handle_call, handle_cast, handle_info.
функции init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3 — их объявления требует behaviour, который вы реализуете. Это примерно как интерфейс в джаве.
Сорри за сумбурное объяснение. Я уверен, что вам будет все понятно, когда вы разберетесь с gen_server
Отличнейший проект. Как же меня радует, когда на хабре появляется что-то кроме ардуино.
Вот только корпус бы по красивее, и вполне можно на кикстартер:)
И еще вопрос, может я криво прочитал и не заметил, но что вы использовали — фоторезист или ЛУТ?
1. Атом занимает в памяти одно слово. Используются много где. Как имена функций, рекордов, имена модулей итп
2. По сути «Равно» сравнивает два значения, тогда как «соответственно равно» сравнивает еще и типы.
Пример:
1> 3.0 == 3.
true
2> 3.0 =:= 3.
false
3. Кортеж — неизменяемый набор данных фиксированной длины. А array — это такая стильная модная реализация массивов.
Объект — процесс в виде ген_сервера, который хранит в себе стейт с координатами. Очевидно, что вы можете изменять стейт через посылку сообщений, либо получать этот стейт через синхронную посылку сообщений же.
Вы просто попробуйте попрограммировать на ерланге, для этого правда надо слегка повернуть мозг.
Неплохо было бы описать в чем минусы использования "++" и "--" в списках и в каких случаях их использование оправдано, а в каких — нет.
Извините конечно, но мне кажется что статей по типу введения в ерланг уже просто тонны. Все понятно и разжевано.
На мой взгляд неплохо было бы увидеть что-нибудь о менее описанных на русском темах типа:
«Как работает GC»
«Дебаггинг и профилирование в ерланге»
«Тонкости отстройки виртуальной машины» и прочее. Плохо освещена тема использования snmp фреймворка.
Откуда инфа про размеры 100 и 500 тысяч рублей?
Здесь указаны суммы 600 000 и 3 млн руб:
Или хотя бы печать? Смотрю в интернете и нигде не могу найти.
Список — это просто односвязный список. На голову и хвост его можно поделить операцией "|"
Меняется нужный элемент через lists:nth/3
А вообще стоит почитать литературку)
В кратце — Функция exampe:start_link/0 c помощью ген_сервера запускает отдельный процесс, пид которого возвращает.
Это процесс имеет свой собственный стейт. внутри которого хранятся значения X и Y. Стейт — последний аргумент в хендлерах ген_сервера — handle_call, handle_cast, handle_info.
Присмотритесь к колбеку:
В Position хранятся текущие координаты.
Это колбек будет вызван когда вы вызовете функцию
функции init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3 — их объявления требует behaviour, который вы реализуете. Это примерно как интерфейс в джаве.
Сорри за сумбурное объяснение. Я уверен, что вам будет все понятно, когда вы разберетесь с gen_server
Только к ней нужно как-то нормальное управление через миди прикрутить и будет ок :)
Вот только корпус бы по красивее, и вполне можно на кикстартер:)
И еще вопрос, может я криво прочитал и не заметил, но что вы использовали — фоторезист или ЛУТ?
2. По сути «Равно» сравнивает два значения, тогда как «соответственно равно» сравнивает еще и типы.
Пример:
1> 3.0 == 3.
true
2> 3.0 =:= 3.
false
3. Кортеж — неизменяемый набор данных фиксированной длины. А array — это такая стильная модная реализация массивов.
gist.github.com/2garryn/6745209
garry@debian:/tmp$ erl
Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9.3.1 (abort with ^G)
1> c(example).
{ok,example}
2> {ok, Pid} = example:start_link().
{ok,}
3> example:get_coordinates(Pid).
{0,0}
4> example:set_coordinates(Pid, {3,4}).
ok
5> example:get_coordinates(Pid).
{3,4}
10>
Вы просто попробуйте попрограммировать на ерланге, для этого правда надо слегка повернуть мозг.
Извините конечно, но мне кажется что статей по типу введения в ерланг уже просто тонны. Все понятно и разжевано.
На мой взгляд неплохо было бы увидеть что-нибудь о менее описанных на русском темах типа:
«Как работает GC»
«Дебаггинг и профилирование в ерланге»
«Тонкости отстройки виртуальной машины» и прочее. Плохо освещена тема использования snmp фреймворка.