--- aliases: - side effects tags: - maturity/🌱 date: 2024-11-08 --- ΠŸΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ дСйствия Π² ΠΊΠΎΠ΄Π΅ β€” это Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ состояниС Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ самой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ: - ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…; - модификация содСрТимого ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, находящихся Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ; - ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΈΠ»ΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…; - взаимодСйствиС с ΡΠ΅Ρ‚ΡŒΡŽ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ внСшниС взаимодСйствия. Π’Π°ΠΊΠΈΠ΅ дСйствия ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΌΠ΅Π½Π΅Π΅ прСдсказуСмым ΠΈ слоТным Π² ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ внСшнСго состояния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ всСгда явно. ## ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… дСйствий Π² Java ### ИзмСнСниС внСшнСй ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ с использованиСм forEach ```java List names = Arrays.asList("Alice", "Bob", "Charlie"); List upperCaseNames = new ArrayList<>(); // ΠŸΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ эффСкт: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π²ΠΎ внСшнюю ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ names.forEach(name -> upperCaseNames.add(name.toUpperCase())); ``` Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ forEach ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСобразования ΠΈΠΌΠ΅Π½ Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр ΠΈ добавлСния ΠΈΡ… Π² `upperCaseNames`. Π­Ρ‚ΠΎ создаСт Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ внСшнСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ `upperCaseNames`, Ρ‡Ρ‚ΠΎ являСтся ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ дСйствиСм. *** ## ΠœΠ΅Ρ‚Π° информация **ΠžΠ±Π»Π°ΡΡ‚ΡŒ**:: [[../meta/zero/00 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°|00 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°]] **Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ**:: **Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ**:: **Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2024-11-08]] **Автор**:: ### Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ - ### Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ