Skip to content

feat(35-calling-functions): полный перенос теории из Python + длина строки через length()#814

Merged
fey merged 2 commits into
mainfrom
update-35-calling-functions-from-python
May 29, 2026
Merged

feat(35-calling-functions): полный перенос теории из Python + длина строки через length()#814
fey merged 2 commits into
mainfrom
update-35-calling-functions-from-python

Conversation

@fey
Copy link
Copy Markdown
Contributor

@fey fey commented May 29, 2026

Что сделано

Полный перенос модуля 35-calling-functions (Вызов функций) из Python (RU-локаль): расширена теория уроков 100-call, 135-default-arguments, 150-expression, 270-deterministic.

Важная правка по ревью: свойства (.length) проходят только в модуле 38, который идёт ПОЗЖЕ. Поэтому длина строки везде показывается через функцию length() из hexlet-basics/string (как было в исходном JS-курсе и как в Python используется len()), а не через свойство .length.

Адаптация под JS

  • 100-call: len() → функция length() (импорт из hexlet-basics/string) как пример функции с одним параметром; Math.pow() — пример функции с несколькими параметрами.
  • 135-default-arguments: round(n, ndigits=0)toFixed([digits]).
  • 150-expression: вложенные вызовы и выражения-аргументы на Math.abs()/Math.round(Math.random()*10); длина строки через length().
  • 270-deterministic: диаграмма + раздел «почему это важно»; random()Math.random().

Заодно (в этом же PR): модуль 31

В 31-advanced-strings/30-symbols тоже убран преждевременный .length и метод .at(-1) (свойства/методы ещё не пройдены): длина — через length(), символ с конца — через индекс text[length(text) - 1].

Задания

Задания 100-call и 150 обновлены под length(). Остальные сохранены. JS-обогащение (math/signature/variadic/stdlib) не затронуто.

Проверки

  • vitest — модули 35 и 31: 12/12 проходят (импорт length резолвится).
  • biome check — exit 0.

🤖 Generated with Claude Code

fey and others added 2 commits May 29, 2026 19:44
Расширена теория уроков 100-call, 135-default-arguments,
150-expression, 270-deterministic до объёма Python-оригинала с
адаптацией под JavaScript: примеры функций на Math.* (sqrt/pow/abs),
длина строки через свойство .length вместо функции len(),
необязательные параметры на примере toFixed([digits]) вместо
round(n, ndigits), случайные числа через Math.random(). Задания и
тесты сохранены (эквивалентны Python). JS-обогащение (math, signature,
variadic, stdlib) не затронуто.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…perty

Свойства проходят только в модуле 38, поэтому в более ранних модулях
длину строки показываем через функцию length() из hexlet-basics/string
(как было в исходном JS-курсе и как в Python используется len()).

- 35/100-call: README, index.js, EXERCISE.md — length() вместо .length
- 35/150-expression: README, index.js — length() вместо .length
- 31/30-symbols: README — length() вместо .length; символ с конца через
  индекс text[length(text) - 1] вместо метода .at(-1)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@fey fey changed the title feat(35-calling-functions): полный перенос теории из Python и адаптация под JS feat(35-calling-functions): полный перенос теории из Python + длина строки через length() May 29, 2026
@fey fey merged commit 843d282 into main May 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant