Как избежать неожиданного идентификатора в цикле while внутри цикла for - PullRequest
0 голосов
/ 11 октября 2019

Я получаю неожиданный идентификатор внутри цикла while. Если я удаляю цикл while, я не получаю неожиданный идентификатор, но в javascript я не знаю, как заставить этот код работать, чтобы я мог зацикливаться, пока j не станет меньше y div 2, увеличивая y в цикле while

function Xploder(num,bits=1) {
  temp = BigInt(num) + BigInt(1)
  xnum = (temp * BigInt(Math.pow(2, bits)))-1n
  return xnum
}

var y = 3n
var j = 1009n
for (x=0; x<1; x++) {
  while ( (j < y//2) ) 
     y=Xploder(y)
}

Thrown:
     y=Xploder(y)
     ^

SyntaxError: Unexpected identifier
> }

Как мне отформатировать мой код, чтобы я не получил неожиданный идентификатор в цикле while или в javascript, как правильно написать приведенный выше код.

ОТВЕТИТЬ комментаторамниже. Я переключаюсь с python на javascript и просто не заметил, что комментирую, не переходя на обычное деление, которое использует javascript. Спасибо за ответы, я смог решить эту проблему с конверсией. Еще раз спасибо!

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Двойная косая черта - это то, как вы помечаете начало комментария, поэтому:

for (x=0; x<1; x++) {
  while ( (j < y//2) ) 
     y=Xploder(y)
}

анализируется следующим образом:

for (x=0; x<1; x++) {
  while ( (j < y y=Xploder(y)
}

... что объясняет ошибкусообщение.

Если вы хотите разделить, используйте один /

for (x=0; x<1; x++) {
  while (j < y/2) 
     y=Xploder(y)
}
1 голос
/ 11 октября 2019

Вы комментируете y вместо того, чтобы делить его.

function Xploder(num,bits=1) {
  temp = BigInt(num) + BigInt(1)
  xnum = (temp * BigInt(Math.pow(2, bits)))-1n
  return xnum
}

var y = 3n
var j = 1009n
for (x=0; x<1; x++) {
  while ( (j < y/2) ) 
     y=Xploder(y)
}
...