Вы также можете зацепить mouseenter (это событие запускается после перезагрузки страницы, когда мышка находится внутри страницы). Расширение кода Corrupted должно делать трюк:
var x = null; var y = null; document.addEventListener ('mousemove', onMouseUpdate, false); document.addEventListener ('mouseenter', onMouseUpdate, false); function onMouseUpdate (e) {x = e.pageX; y = e.pageY; console.log (x, y); } function getMouseX () {return x; } function getMouseY () {return y; }
Вы также можете установить x и y в значение null на mouseleave-event. Таким образом, вы можете проверить, находится ли пользователь на вашей странице с помощью курсора.
Все эти основные команды являются частью пакета coreutils
.
Вы можете найти всю необходимую информацию здесь:
http: //www.gnu. org / software / coreutils /
Если вы хотите загрузить последний источник, вы должны использовать git:
git clone git://git.sv.gnu.org/coreutils
Чтобы установить git на вашей машине Ubuntu, вы должны использовать apt-get (git не входит в стандартную установку Ubuntu):
sudo apt-get install git
По правде говоря, здесь вы можете найти конкретный источник для команды ls
:
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c
Только 4984 строк кода для команды «достаточно легко» в качестве ls
... вы все еще интересуетесь чтением? Удачи! : D
ls
является частью coreutils. Вы можете получить его с помощью git:
git clone git://git.sv.gnu.org/coreutils
Вы найдете coreutils, перечисленные в других пакетах (прокрутите вниз) на на этой странице .
Прямые ссылки на источник для некоторых популярных программ в coreutils
:
cat
(767 строк) chmod
(570 строк) cp
(2912 строк) cut
(831 строка) date
(570 строк) df
(1718 линии du
(1112 строк) echo
(272 строки) head
(1070 строк) hostname
(116 строк) kill
(312 строки) ln
(651 строка) ls
(4954 строки) md5sum
(878 строк) mkdir
(306 строк) mv
(512 строк) nice
(220 строк) pwd
(394 строки) rm
(356 строк) rmdir
(252 строки) shred
(1325 строк) tail
(2301 строк) tee
(220 строк) touch
(437 строк) wc
(801 строк) whoami
(91 строка) Здесь вы можете найти множество команд:
http://www.opensource.apple.com/source/shell_cmds/shell_cmds-170/
Посетите, например:
http://ftp.gnu.org/pub/gnu/coreutils/
Вы можете просматривать код онлайн , Откройте один из архивов и проверьте папку src.
cd ~ && apt-get source coreutils && ls -d coreutils*
Вы должны иметь возможность использовать такую команду на ubuntu для сбора источника для пакета, вы можете опустить sudo
при условии, что вы загрузите его в свое местоположение.
На самом деле, более разумные источники предоставлены http://suckless.org для просмотра их репозитория sbase
:
git clone git://git.suckless.org/sbase
Они яснее, умнее, проще и suckless, например, ls.c
имеет всего 369 LOC
. После этого будет легче понять более сложный код GNU.
CoreUtils, о которых говорится в других сообщениях, НЕ показывает реальную реализацию большинства функций, которые, как я думаю, вы ищете. В большинстве случаев он предоставляет интерфейсы для фактических функций, которые извлекают данные, которые можно найти здесь:
Он построен на Gnulib с фактическим исходным кодом в Lib-подкаталог
cat
. Это всего 767 строк. – Drew Noakes 24 September 2014 в 00:08Only 4984 code lines ...
- Кажется, через 4 года и 3 месяцаls
стало еще более сложным 57 строк. – sherrellbc 14 October 2016 в 13:43wc
намного быстрее, чем эквивалентная Java-программа. Поэтому я просмотрел код ... OMG оптимизирован для чтения дисков, ввода буферов и т. Д. Или что :) – yǝsʞǝlA 2 December 2016 в 03:04