Skip to content

Instantly share code, notes, and snippets.

@polymorphm
Created July 22, 2011 08:48
Show Gist options
  • Save polymorphm/1099107 to your computer and use it in GitHub Desktop.
Save polymorphm/1099107 to your computer and use it in GitHub Desktop.
new_my_test_generator(n)
<!-- пример для http://htmledit.squarefree.com/ -->
<script>/*<[CDATA[*/(function() {'use strict'
function new_my_test_generator(n) {
var iter = {}
iter.next = function() {
var r = 'первое значение!'
iter.next = function() {
var r = 'второе значение!'
iter.next = function() {
var i = 0
iter.next = function() {
if(i < n) {
var r = 'N промежуточных значений! (' + i + ')'
++i
return r
} else {
var r = 'ПРЕДпоследнее значение!'
iter.next = function() {
var r = 'ПОСЛЕДНЕЕ значение!'
iter.next = null
return r
}
return r
}
}
return iter.next()
}
return r
}
return r
}
return iter
}
function DEBUG_LOG(s) {
//console.log(s)
alert(s)
}
DEBUG_LOG('*** генерируем итератор ***')
var my_test_iter = new_my_test_generator(10)
DEBUG_LOG('*** НАЧИНАЕМ цыкл итератора ***')
while(my_test_iter.next) {
var my_value = my_test_iter.next()
DEBUG_LOG('получено: ' + my_value)
}
DEBUG_LOG('*** ЗАКОНЧИЛИ цыкл итератора ***')
})()/*]]>*/</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment