cstd
Version:
CoffeeScript Standart Library
955 lines (953 loc) • 22.3 kB
HTML
<html>
<head>
<meta charset='UTF-8'>
<title>CoffeeScript standarts</title>
<script src='../javascript/application.js'></script>
<script src='../javascript/search.js'></script>
<link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
</head>
<body>
<div id='base' data-path='../'></div>
<div id='header'>
<div id='menu'>
<a href='../extra/README.md.html' title='CSTD'>
CSTD
</a>
»
<a href='../alphabetical_index.html' title='Index'>
Index
</a>
»
<span class='title'>CircularList</span>
</div>
</div>
<div id='content'>
<h1>
Class:
CircularList
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>lib/circular_list.coffee</td>
</tr>
<tr>
<td>Inherits:</td>
<td>
<a href='../class/CSObject.html'>CSObject</a>
</td>
</tr>
</table>
<h2>Overview</h2>
<div class='docstring'>
<p>Описывает циклический список, в котором нет начала или конца,
есть только текущий указатель.</p>
</div>
<div class='tags'>
</div>
<h2>Property Summary</h2>
<dl class='properties'>
<dt id='_p-property'>
<span class='signature'>
(Node)
<b>
_p
</b>
</span>
</dt>
<dd class='desc'>
указатель на текущий узел
</dd>
<dt id='length-property'>
<span class='signature'>
(Number)
<b>
length
</b>
</span>
</dt>
<dd class='desc'>
@read-only длина списка
</dd>
</dl>
<h2>Class Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#fromArray-static'>
.
(CircularList)
<b>fromArray</b><span>(array)</span>
</a>
</span>
<span class='desc'>
Создать список из массива <code>array</code> с указателем на первый элемент массива
</span>
</li>
</ul>
<h2>Instance Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#append-dynamic'>
#
(CircularList)
<b>append</b><span>(some)</span>
</a>
</span>
<span class='desc'>
Присоединяет элемент следом за указателем, т.е.
</span>
</li>
<li>
<span class='signature'>
<a href='#prepend-dynamic'>
#
(CircularList)
<b>prepend</b><span>(some)</span>
</a>
</span>
<span class='desc'>
Присоединяет элемент перед текущим, т.е.
</span>
</li>
<li>
<span class='signature'>
<a href='#add-dynamic'>
#
(CircularList)
<b>add</b><span>(first, list...)</span>
</a>
</span>
<span class='desc'>
Присоединяет список аргументов после текущего.
</span>
</li>
<li>
<span class='signature'>
<a href='#go-dynamic'>
#
(CircularList)
<b>go</b><span>(step)</span>
</a>
</span>
<span class='desc'>
Позволяет перейти по списку вперёд или назад на <code>step</code> шагов.
</span>
</li>
<li>
<span class='signature'>
<a href='#next-dynamic'>
#
(CircularList)
<b>next</b><span>()</span>
</a>
</span>
<span class='desc'>
Перейти к следующему узлу в списке
</span>
</li>
<li>
<span class='signature'>
<a href='#prev-dynamic'>
#
(CircularList)
<b>prev</b><span>()</span>
</a>
</span>
<span class='desc'>
Перейти к предыдущему элементу
</span>
</li>
<li>
<span class='signature'>
<a href='#get-dynamic'>
#
(CircularList)
<b>get</b><span>()</span>
</a>
</span>
<span class='desc'>
Получить значение текущего элемента
</span>
</li>
<li>
<span class='signature'>
<a href='#currentNode-dynamic'>
#
(CircularList)
<b>currentNode</b><span>()</span>
</a>
</span>
<span class='desc'>
Получить текущий узел
</span>
</li>
<li>
<span class='signature'>
<a href='#set-dynamic'>
#
(CircularList)
<b>set</b><span>(some)</span>
</a>
</span>
<span class='desc'>
Установить значение текущего элемента
</span>
</li>
<li>
<span class='signature'>
<a href='#erase-dynamic'>
#
(CircularList|Node)
<b>erase</b><span>(returnNodes = true)</span>
</a>
</span>
<span class='desc'>
Очистить список от текущего значения и вернуть его, если <code>returnNodes</code> == true
</span>
</li>
<li>
<span class='signature'>
<a href='#clear-dynamic'>
#
(CircularList)
<b>clear</b><span>()</span>
</a>
</span>
<span class='desc'>
Очистить список ото всех значений
</span>
</li>
<li>
<span class='signature'>
<a href='#destructor-dynamic'>
#
(null)
<b>destructor</b><span>()</span>
</a>
</span>
<span class='desc'>
Удалить список и очистить все линки
</span>
</li>
</ul>
<h2>
<small>Inherited Method Summary</small>
<h3 class='inherited'>
Methods inherited from
<a href='../class/CSObject.html'>CSObject</a>
</h3>
<p class='inherited'>
<a href='../class/CSObject.html#destructor-dynamic'>#destructor</a>
</p>
</h2>
<h2>Class Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='fromArray-static'>
.
(CircularList)
<b>fromArray</b><span>(array)</span>
<br>
</p>
<div class='docstring'>
<p>Создать список из массива <code>array</code> с указателем на первый элемент массива</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>array</span>
<span class='type'>
(
<tt>Array<*></tt>
)
</span>
—
<span class='desc'>массив из которых создаём список </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если аргументов не 1 </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если <code>array</code> не массив </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'>circularList </span>
</li>
</ul>
</div>
</div>
</div>
<h2>Constructor Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='constructor-dynamic'>
#
(void)
<b>constructor</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Конструктор циклического списка создаёт первый узел без значения,
и замыкает его указатели на самого себя.</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если в конструктор пытаются передать аргументы </span>
</li>
</ul>
</div>
</div>
</div>
<h2>Instance Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='append-dynamic'>
#
(CircularList)
<b>append</b><span>(some)</span>
<br>
</p>
<div class='docstring'>
<p>Присоединяет элемент следом за указателем, т.е.
значение становится доступным при вызове <code>.next().get()</code>.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>some</span>
<span class='type'>
(
<tt>*</tt>
)
</span>
—
<span class='desc'>сущность для присоединения </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если аргументов более одного, т.к. есть <code>add</code> </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если нет аргументов </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='prepend-dynamic'>
#
(CircularList)
<b>prepend</b><span>(some)</span>
<br>
</p>
<div class='docstring'>
<p>Присоединяет элемент перед текущим, т.е. значение становится
достыпным при вызове <code>.prev().get()</code></p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>some</span>
<span class='type'>
(
<tt>*</tt>
)
</span>
—
<span class='desc'>сущность для присоединения </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если аргументов более одного </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если нет аргументов </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='add-dynamic'>
#
(CircularList)
<b>add</b><span>(first, list...)</span>
<br>
</p>
<div class='docstring'>
<p>Присоединяет список аргументов после текущего. Замечу,
что принимает на вход множество аргументов, а не массив аргументов.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>arguments...</span>
<span class='type'>
(
<tt>*</tt>
)
</span>
—
<span class='desc'>сущности для присоединения </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если аргументов нет </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='go-dynamic'>
#
(CircularList)
<b>go</b><span>(step)</span>
<br>
</p>
<div class='docstring'>
<p>Позволяет перейти по списку вперёд или назад на <code>step</code> шагов.
Чтобы не кружить по списку, количесво шагов будет оптимизированно.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>step</span>
<span class='type'>
(
<tt>Number</tt>
)
</span>
—
<span class='desc'>количество шагов: если > 0, то вперёд, иначе -- назад </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если <code>step</code> не передан </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если <code>step</code> не число </span>
</li>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если аргументов больше 1 </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='next-dynamic'>
#
(CircularList)
<b>next</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Перейти к следующему узлу в списке</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если переданы аргументы </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='prev-dynamic'>
#
(CircularList)
<b>prev</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Перейти к предыдущему элементу</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если переданы аргументы </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='get-dynamic'>
#
(CircularList)
<b>get</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Получить значение текущего элемента</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если переданы аргументы </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='currentNode-dynamic'>
#
(CircularList)
<b>currentNode</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Получить текущий узел</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если переданы аргументы </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='set-dynamic'>
#
(CircularList)
<b>set</b><span>(some)</span>
<br>
</p>
<div class='docstring'>
<p>Установить значение текущего элемента</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>some</span>
<span class='type'>
(
<tt>*</tt>
)
</span>
—
<span class='desc'>новое значение </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>Если агрументов не 1 </span>
</li>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>Если список пуст. </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='erase-dynamic'>
#
(CircularList|Node)
<b>erase</b><span>(returnNodes = true)</span>
<br>
</p>
<div class='docstring'>
<p>Очистить список от текущего значения и вернуть его,
если <code>returnNodes</code> == true</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>returnNodes</span>
<span class='type'>
(
<tt>Boolean</tt>
)
</span>
—
<span class='desc'>возвращать ли удалённый узел </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если аргументов > 1 </span>
</li>
<li>
<span class='type'></span>
(
<tt>RangeError</tt>
)
—
<span class='desc'>если список пуст </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если returnNodes не булево </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>CircularList|Node</tt>
)
—
<span class='desc'><code>this</code>|элемент </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='clear-dynamic'>
#
(CircularList)
<b>clear</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Очистить список ото всех значений</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если переданы аргументы </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt><a href='../class/CircularList.html'>CircularList</a></tt>
)
—
<span class='desc'><code>this</code> </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='destructor-dynamic'>
#
(null)
<b>destructor</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Удалить список и очистить все линки</p>
</div>
<div class='tags'>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
<tt>null</tt>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id='footer'>
By
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.1.0
✲
Press H to see the keyboard shortcuts
✲
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
✲
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>