Size: a a a

2020 August 29

PV

Peter V in pro.js
С аргументом x
источник

d

dynamic in pro.js
th.witness
function range(current, end, step = 1) {
 if(current && !end) {
   end = current;
   current = 0;
 }
 const isStepPositive = current < end;
 if(!isStepPositive) {
   step = -step
 }
 return {[Symbol.iterator]: () => ({
     next() {
       const previous = current;
       return (isStepPositive ? current < end : current > end)
           ? { value: (current = current + step, previous), done: false }
           : { done: true };
     }
   })
 }
}
Входит в бесконечный цикл при отрицательном шаге. Нет проверки на вхождение числа в диапазон (x in range)
источник

t

th.witness in pro.js
dynamic
Входит в бесконечный цикл при отрицательном шаге. Нет проверки на вхождение числа в диапазон (x in range)
А нужны были проверки? Окей.
источник

L

Lupusregina[beta] in pro.js
S.unity
у меня была задача
Напишите функцию, которая принимает на вход целое число и возвращает количество битов, равных единице в двоичном представлении этого числа. Вы можете гарантировать, что ввод неотрицательный.

Пример: двоичное представление 1234 - 10011010010, поэтому в этом случае функция должна вернуть 5.
const getNumTrueBits = n => n
   .toString(2)
   .replace(/[^1]/g, "")
   .length
источник

S

Syntax Highlight Bot in pro.js
Lupusregina[beta]
const getNumTrueBits = n => n
   .toString(2)
   .replace(/[^1]/g, "")
   .length
источник

S

S.unity in pro.js
Peter V
В функцию то оберни
все, щас разберу что ты написал. про & я знал. только не знал как правильно применять. спасибо
источник

S

S.unity in pro.js
а еще не понял » что это значит. в книжке уже нашел определение но пока не понимаю
источник

d

dynamic in pro.js
Lupusregina[beta]
Переслано от Lupusregina[beta]
function range(...args) {
 const rangeParseArgs = (s, e, d = 1) => {
   if ( e === undefined )
     [s, e] = [0, s]
   return [s, e, d]
 }
 function* rangeGen(...args) {
   let [s, e, d] = rangeParseArgs(...args)
   if ( s < e )
     for(; s < e; s += d)
       yield s
   else
     for(; s > e; s -= d)
       yield s
 }
 
 return new Proxy({
   [Symbol.iterator]: () => rangeGen(...args)
 }, {
   has(p, n) {
     const [s, e, d] = rangeParseArgs(...args)
     n = +n

     if ( s < e && (n >= e || n < s) ) return false
     if ( s >= e && (n <= e || n > s) ) return false
     if ( (n - s) % d ) return false

     return true
   },
 })
}
Тоже если [...range(1, 10, -1)] шаг отрицательный, все виснет, диапазон некорректен
источник

d

dynamic in pro.js
th.witness
А нужны были проверки? Окей.
У тебя нет кейса на проверку x in range

100 in range(100) //false
источник

t

th.witness in pro.js
dynamic
У тебя нет кейса на проверку x in range

100 in range(100) //false
Ага.
источник

t

th.witness in pro.js
Я этого не видел в условиях.
источник

PV

Peter V in pro.js
S.unity
а еще не понял » что это значит. в книжке уже нашел определение но пока не понимаю
Это побитовым сдвиг вправо. То есть этот оператор отрежет младший разряд в двоичном представленит
источник

t

th.witness in pro.js
dynamic
У тебя нет кейса на проверку x in range

100 in range(100) //false
Этого и не было :)
источник

S

S.unity in pro.js
Peter V
Это побитовым сдвиг вправо. То есть этот оператор отрежет младший разряд в двоичном представленит
то есть 0?
источник

d

dynamic in pro.js
th.witness
Этого и не было :)
источник

d

dynamic in pro.js
Последняя строка.
источник

В

Виктория in pro.js
dynamic
Видел. Сейчас до пекарни доберусь проверю.
Че за пекарня я не могу понять?
источник

t

th.witness in pro.js
dynamic
[...range(5)] // [0, 1, 2, 3, 4]
[...range(-2)] // [0, -1]
[...range(1, 12, 3)] // [1, 4, 7, 10]
for(let i of range(10, Infinity, 4)) // i на каждой итерации от 10 до бесконечности с шагом 4
10 in range(4, 10) // false
Оп.
источник

PV

Peter V in pro.js
S.unity
то есть 0?
Младший разряд блин, будь там 0 или 1
источник

PV

Peter V in pro.js
1001 >> 1 = 100
источник