For y = 1 to 10
y = y+1
print(y)
Next
Для вышеуказанного кода выход, который я получаю, составляет 2,4,6,8,10. Не должно быть o/p 2,3,4,5,6,7,8,9,10 Могу ли я считать y = y + 1 как y ++У VBScript есть оператор приращения?
For y = 1 to 10
y = y+1
print(y)
Next
Для вышеуказанного кода выход, который я получаю, составляет 2,4,6,8,10. Не должно быть o/p 2,3,4,5,6,7,8,9,10 Могу ли я считать y = y + 1 как y ++У VBScript есть оператор приращения?
в цикле For...Next
, вам не понадобится для увеличения значения счетчика вручную.
Нет, VB Script не имеет оператора инкремента. Сценарий VB основан на BASIC, который является языком, предназначенным для обучения, и оператор инкремента считается запутанным многими, поэтому он никогда не добавлялся специально.
Что касается вашего второго вопроса, для получения вывода вы хотите удалить строку y = y+1
и изменить петлю на For y = 2 to 10
. Кроме того, да, y=y+1
- это то же самое, что и y++
на большинстве языков.
Вы увеличиваете значение, которое увеличивается на For
цикла:
For y = 1 to 10 ' starts at 1, next is 3
y = y+1 ' but you increase it to 2, increased to 4
print(y) ' prints 2, 4
Next ' Increases to 3, 5, up to 11, then stops because it's greater than 10
шаг приращения по умолчанию для VBScript для цикла равен 1. При добавлении в у = у + 1, вы эффективно увеличивая ваши прирост на 2 каждый цикл:
For y = 2 to 10 step 2
Wscript.echo y
Next
В этом нет «оператора инкремента»; Однако вы можете рассмотреть step
оператор приращений в этом контексте (как положительный, так и отрицательный).
y = y + 1
аналогичен предполагаемой концепции y++
.
Вы, вероятно, будет лучше всего, используя этот тип операции внутри делать/в то время как цикл, где нет приращения автопереключением например:
y = 0
do while y < 10
y = y + 1
wscript.echo y
Loop
Смотреть этот предыдущий пост: Does VBScript have Increment Operators
'Для Loop' делает есть 'Step' (как показано Damien) –
@PankajJaju Не знаете, как оператор Step помогает ответить на этот вопрос. Это полностью необязательный оператор. Код OP показывает, как вы можете легко сделать тот же код без него. – krowe
http://stackoverflow.com/questions/971312/why-avoid-increment-and-decrement-operators-in-javascript – Damien