История изменений
Исправление ergo, (текущая версия) :
если я правильно понял твое негодование, то тебе не до конца понятен смысл shadowing. блоком {} обозначают область видимости для заданных переменных. в случае, если используется имя переменной внутри {}, при этом это же имя уже используется снаружи, то такой трюк называется shadowing. это значит, что внутри этого блока под этим именеме будет жить другая переменная со своим значением. однако нюанс в том, что до момента ее определения все еще используется под этим именем другая переменная, объявленная за пределами блока {}. поэтому в том примере let x = x*2 будет значить, что имя х будет задействовано для новой переменной, но в момент создания этой переменной ее значение будет вычисленно из значения, которое хранится в переменной х из внешнего блока.
этот пример максимально тупой, чтобы отобразить смысл shadowing, а не показать какую-то глубокую логику.
зы я бы не стал отказываться от изучения Си. он, как мне кажется, немного мозги ставит на место в части понимания как устроена память и работа с ней. зная его, меньше вопросов возникает при изучении других языков. и да… один небольшой совет - никогда не изучай что-то новое по одному источнику. всегда используй как минимум два. если прочитав ООП по одной книге понятней не стало это лишь значит, что формат изложения в ней не совпадает с твоими базовыми представлениями о предмете. нужно просто взять другую книгу.
Исправление ergo, :
если я правильно понял твое негодование, то тебе не до конца понятен смысл shadowing. блоком {} обозначают область видимости для заданных переменных. в случае, если используется имя переменной внутри {}, при этом это же имя уже используется снаружи, то такой трюк называется shadowing. это значит, что внутри этого блока под этим именеме будет жить другая переменная со своим значением. однако нюанс в том, что до момента ее определения все еще используется под этим именем другая переменная, объявленная за пределами блока {}. поэтому в том примере let x = x*2 будет значить, что имя х будет задействовано новой переменной, но в момент создания этой переменной ее значение будет вычисленно из значения, которое хранится в переменной х из внешнего блока.
этот пример максимально тупой, чтобы отобразить смысл shadowing, а не показать какую-то глубокую логику.
зы я бы не стал отказываться от изучения Си. он, как мне кажется, немного мозги ставит на место в части понимания как устроена память и работа с ней. зная его, меньше вопросов возникает при изучении других языков. и да… один небольшой совет - никогда не изучай что-то новое по одному источнику. всегда используй как минимум два. если прочитав ООП по одной книге понятней не стало это лишь значит, что формат изложения в ней не совпадает с твоими базовыми представлениями о предмете. нужно просто взять другую книгу.
Исправление ergo, :
если я правильно понял твое негодование, то тебе не до конца понятен смысл shadowing. блоком {} обозначают область видимости для заданных переменных. в случае, если используется имя переменной внутри {}, при этом это же имя уже используется снаружи, то такой трюк называется shadowing. это значит, что внутри этого блока под этим именеме будет жить другая переменная со своим значением. однако нюанс в том, что до момента ее определения все еще используется под этим именем другая переменная, объявленная за пределами блока {}.
этот пример максимально тупой, чтобы отобразить смысл shadowing, а не показать какую-то глубокую логику.
зы я бы не стал отказываться от изучения Си. он, как мне кажется, немного мозги ставит на место в части понимания как устроена память и работа с ней. зная его, меньше вопросов возникает при изучении других языков. и да… один небольшой совет - никогда не изучай что-то новое по одному источнику. всегда используй как минимум два. если прочитав ООП по одной книге понятней не стало это лишь значит, что формат изложения в ней не совпадает с твоими базовыми представлениями о предмете. нужно просто взять другую книгу.
Исходная версия ergo, :
если я правильно понял твое негодование, то тебе не до конца понятен смысл shadowing. блоком {} обозначают область видимости для заданных переменных. в случае, если используется имя переменной внутри {}, при этом это же имя уже используется снаружи, то такой трюк называется shadowing. это значит, что внутри этого блока под этим именеме будет жить другая переменная со своим значением. однако нюанс в том, что до момента ее определения все еще используется под этим именем другая переменная, объявленная за пределами блока {}.
этот пример максимально тупой, чтобы отобразить смысл shadowing, а не показать какую-то глубокую логику.
зы я бы не стал отказываться от изучения Си. он, как мне кажется, немного мозги ставит на место в части понимания как устроена память и работа с ней. зная его, меньше вопросов возникает при изучении других языков. и да… один небольшой совет - никогда не изучай что-то новое по одному источнику. всегда используй как минимум два.