Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1
- JavaScript
- 2
- howManyYears += 1;
- Number при сложении со String кастуется в String, и происходит конкатенация, вычитания строк в js - нет, поэтому они затем кастуются в число, то есть получается цепочка 1 + "1" => "1" + "1" => "11"; "11" - "1" => 11 - 1 => 10. убираем строку "1", заменяем на число 1.
- 2
- Ruby
- 2
- if (howManyYears != 0)
- Оператора сравнения =! в руби - нет.
- 3
- С++
- 10
- monthes.push_back(8); monthes.push_back(9);
- Числа начинающиеся с нуля (и если нет следом x, то есть "0x" - это 16ричные) трактуются лексером c++ как восмеричные, и 08, 09 - некорректные числа в восьмеричной системе, ибо там могут использоваться только цифры 0..7
- 4
- PowerShell
- 1
- [regex]::replace('1 year on $habr!','\$','#')
- $ в нотации regexp'a значит конец строки, собственно нужно экранировать
- 5
- С
- 5
- years++, printf("%d year%s on #habr!", years, years == 0 ? "" : "s");
- Насколько я знаю, порядок вычисления аргументов функции это compiler-specific (6.5.2.2 item 10), поэтому полагаться нельзя на то, что ++years выполнится первым.
- 6
- DCPU-16 DASM assembly
- 8
- ADD X, 1
- Зачем-то инкрементим A, вместо X, X - счетчик цикла, номер текущего символа, а регистр A - сам код символа (с маской фона, офк)
Advertisement
Add Comment
Please, Sign In to add comment