<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Сева Веселов</title><subtitle>Hello everyone, this is my blog where I will be sharing my progress in learning the Swift language.</subtitle><author><name>Сева Веселов</name></author><id>https://teletype.in/atom/sevaveselov</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/sevaveselov?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@sevaveselov?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=sevaveselov"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/sevaveselov?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-30T01:36:20.061Z</updated><entry><id>sevaveselov:roadmap</id><link rel="alternate" type="text/html" href="https://teletype.in/@sevaveselov/roadmap?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=sevaveselov"></link><title>Roadmap для изучения Swift</title><published>2022-06-19T10:44:08.105Z</published><updated>2022-06-19T10:51:50.861Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/4d/fd/4dfd64f7-8955-4ade-b016-340ad4f2cc6a.png"></media:thumbnail><category term="swift-baza" label="Swift БАЗА"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/75/5e/755e4b25-0a59-4ad8-8082-fb42f4adf3bd.jpeg&quot;&gt;Лучший Roadmap для самостоятельного бесплатного изучения Swift/Xcode и входа в профессию IOS - разработчика.</summary><content type="html">
  &lt;p id=&quot;CcW3&quot;&gt;Лучший Roadmap для самостоятельного бесплатного изучения Swift/Xcode и входа в профессию IOS - разработчика.&lt;/p&gt;
  &lt;p id=&quot;oALr&quot;&gt;План рассчитан на 6 месяцев, посмотрим сколько времени это займет на самом деле🤔 &lt;/p&gt;
  &lt;blockquote id=&quot;rw2p&quot;&gt;Ссылка на roadmap в конце статьи⬇️&lt;/blockquote&gt;
  &lt;p id=&quot;4cfN&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;ZeAd&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/75/5e/755e4b25-0a59-4ad8-8082-fb42f4adf3bd.jpeg&quot; width=&quot;1540&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;CZlt&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/0e/be/0ebeeb99-c876-4c99-9f55-8362012d20cf.jpeg&quot; width=&quot;1480&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;Ifhd&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/8e/81/8e81a604-7bee-49db-b66e-1b3d2c45db69.jpeg&quot; width=&quot;1498&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;lP5N&quot; data-align=&quot;center&quot;&gt;&lt;a href=&quot;https://miro.com/app/board/uXjVOC41HqE=/&quot; target=&quot;_blank&quot;&gt;https://miro.com/app/board/uXjVOC41HqE=/&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>sevaveselov:inout</id><link rel="alternate" type="text/html" href="https://teletype.in/@sevaveselov/inout?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=sevaveselov"></link><title>Да что такое этот ваш inout</title><published>2022-06-18T23:15:43.266Z</published><updated>2022-06-18T23:15:43.266Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/5e/09/5e09f356-a629-456a-bfb2-76b3b82a5080.png"></media:thumbnail><category term="swift-baza" label="Swift БАЗА"></category><summary type="html">&lt;img src=&quot;https://www.swiftanytime.com/content/images/size/w1200/2022/05/In-out-Parameter.jpg&quot;&gt;По умолчанию параметры функции являются константами/неизменяемыми, и если вы попытаетесь изменить значение параметра функции в теле функции, это приведет к ошибке компиляции. Поэтому, если вы хотите, чтобы функция изменяла значение параметра и чтобы эти изменения сохранялись после завершения вызова функции, определите этот параметр как in-out параметр.</summary><content type="html">
  &lt;figure id=&quot;H43E&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://www.swiftanytime.com/content/images/size/w1200/2022/05/In-out-Parameter.jpg&quot; width=&quot;1200&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;jLYv&quot;&gt;По умолчанию параметры функции являются константами/неизменяемыми, и если вы попытаетесь изменить значение параметра функции в теле функции, это приведет к ошибке компиляции. Поэтому, если вы хотите, чтобы функция изменяла значение параметра и чтобы эти изменения сохранялись после завершения вызова функции, определите этот параметр как in-out параметр.&lt;/p&gt;
  &lt;p id=&quot;97wQ&quot;&gt;Что ж, пришло время разобрать пример:&lt;/p&gt;
  &lt;pre id=&quot;T9Yf&quot; data-lang=&quot;swift&quot;&gt;var number = 6

func doubleNumber(num: Int) -&amp;gt; Int {
    return num * 2
}

print(doubleNumber(num: number))
//Prints 12

print(number)
//Prints 6&lt;/pre&gt;
  &lt;p id=&quot;BilD&quot;&gt;В приведенном выше коде вы увидите, что ни переменная &amp;quot;number&amp;quot; никогда не изменяется, ни параметру &amp;quot;num&amp;quot; не может быть присвоено какое-либо значение, или, по сути, можно сказать, что он неизменяем.&lt;/p&gt;
  &lt;blockquote id=&quot;QOs0&quot;&gt;Но что если вы хотите, чтобы и переменная number изменялась, и параметр num был изменяемым?&lt;/blockquote&gt;
  &lt;p id=&quot;BbDm&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;inout-parameters-in-swift&quot;&gt;Inout Параметр в Swift&lt;/h2&gt;
  &lt;p id=&quot;M6DE&quot;&gt;Параметр inout - это особый тип параметра, который может быть изменен внутри функции, а изменения применяются вне функции.&lt;/p&gt;
  &lt;p id=&quot;Amff&quot;&gt;Вот иллюстрация функции, которая принимает число A в качестве выходного параметра и изменяет его:&lt;/p&gt;
  &lt;figure id=&quot;DJou&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://www.codingem.com/wp-content/uploads/2021/12/inout-swift.png&quot; width=&quot;609&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HVcv&quot;&gt;Чтобы превратить параметр функции в переменную inout, которую можно изменять внутри функции:&lt;/p&gt;
  &lt;ol id=&quot;YO3H&quot;&gt;
    &lt;li id=&quot;ROkw&quot;&gt;Измените параметр на inout-параметр с помощью модификатора ключевого слова inout.&lt;/li&gt;
    &lt;li id=&quot;5PNb&quot;&gt;Используйте &amp;amp; при передаче аргумента в вызове функции.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;yLJj&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;pCo6&quot;&gt;Да, вы можете сделать это, добавив ключевое слово inout непосредственно перед типом параметра, и поставить амперсанд (&amp;amp;) непосредственно перед именем переменной, когда вы передаете ее в качестве аргумента к параметру in-out, чтобы указать, что она может быть изменена функцией.&lt;/p&gt;
  &lt;pre id=&quot;ifDP&quot; data-lang=&quot;swift&quot;&gt;var number = 6

func doubleNumber(num: inout Int) -&amp;gt; Int {
    num *= 2
    return num
}

print(doubleNumber(num: &amp;amp;number))
//Prints 12

print(number)
//Prints 12
&lt;/pre&gt;

</content></entry><entry><id>sevaveselov:y_2wU4QVcdV</id><link rel="alternate" type="text/html" href="https://teletype.in/@sevaveselov/y_2wU4QVcdV?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=sevaveselov"></link><title>Простая функция. Подсчитать сумму массива.</title><published>2022-06-18T18:10:34.736Z</published><updated>2022-06-18T18:10:34.736Z</updated><category term="swift-baza" label="Swift БАЗА"></category><summary type="html">Задача подсчитать сумму значений в массиве.</summary><content type="html">
  &lt;p id=&quot;IaMY&quot;&gt;Задача подсчитать сумму значений в массиве.&lt;/p&gt;
  &lt;pre id=&quot;mLgF&quot; data-lang=&quot;swift&quot;&gt;func calculateMoney(_ wallet: [Int]) { 
    var sum = 0
    for value in wallet {
        sum += value
    }
    print(&amp;quot;sum = \(sum)&amp;quot;)
}
let wallet = [100, 5, 1, 5, 5, 20, 50, 100, 1, 1]
calculateMoney(wallet)&lt;/pre&gt;
  &lt;p id=&quot;fJsX&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;RR0l&quot;&gt;Упростим данный код:&lt;/p&gt;
    &lt;pre id=&quot;RimW&quot; data-lang=&quot;swift&quot;&gt;    var sum = 0
    for value in wallet {
        sum += value
    }&lt;/pre&gt;
    &lt;p id=&quot;Zw9A&quot;&gt;через метод &lt;code&gt;.reduce&lt;/code&gt; :&lt;/p&gt;
    &lt;pre id=&quot;InvY&quot; data-lang=&quot;swift&quot;&gt;    var sum = wallet.reduce(0,+)&lt;/pre&gt;
  &lt;/section&gt;
  &lt;p id=&quot;z8au&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;IaMY&quot; data-lang=&quot;swift&quot;&gt;func calculateMoney(_ wallet:[Int]) {
    var sum = wallet.reduce(0,+)
    print(&amp;quot;sum = \(sum)&amp;quot;)
}
let wallet = [100, 5, 1, 5, 5, 20, 50, 100, 1, 1]
calculateMoney(wallet)&lt;/pre&gt;
  &lt;blockquote id=&quot;pBW4&quot;&gt;&lt;code&gt;wallet &lt;/code&gt;- это внутренний параметр, а &lt;code&gt;_&lt;/code&gt; внешний. Можно так же его назвать, как ( &lt;code&gt;howMuch&lt;/code&gt; ), тогда при вызове функции:&lt;/blockquote&gt;
  &lt;pre id=&quot;YObg&quot; data-lang=&quot;swift&quot;&gt;func calculateMoney(howMuch wallet:[Int]) { 
    var sum = wallet.reduce(0,+)
    print(&amp;quot;sum = \(sum)&amp;quot;)
}
let wallet = [100, 5, 1, 5, 5, 20, 50, 100, 1, 1]
calculateMoney(howMuch: wallet)&lt;/pre&gt;

</content></entry><entry><id>sevaveselov:marafon_hw10</id><link rel="alternate" type="text/html" href="https://teletype.in/@sevaveselov/marafon_hw10?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=sevaveselov"></link><title>Homework. SWIFT - 10. Функции</title><published>2022-06-17T20:01:28.895Z</published><updated>2022-06-23T10:26:47.139Z</updated><category term="swift-marathon-homework" label="Swift marathon: Homework"></category><summary type="html">&lt;img src=&quot;http://www.globalnerdy.com/wp-content/uploads/2014/06/function-headers-in-swift.jpg&quot;&gt;На этот раз я изучаю как работают функции (func) в языке программирования Swift. Посмотрим, что из этого выйдет.</summary><content type="html">
  &lt;figure id=&quot;JsLU&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;http://www.globalnerdy.com/wp-content/uploads/2014/06/function-headers-in-swift.jpg&quot; width=&quot;600&quot; /&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Xti0&quot;&gt;На этот раз я изучаю как работают функции (func) в языке программирования Swift. Посмотрим, что из этого выйдет.&lt;/p&gt;
  &lt;/section&gt;
  &lt;h3 id=&quot;OaNJ&quot;&gt;1. Создайте пару функций с короткими именами, которые возвращают строку с классным символом или символами. Например heart() возвращает сердце и т.п. Вызовите все эти функции внутри принта для вывода строки этих символов путем конкатенации.&lt;/h3&gt;
  &lt;p id=&quot;ldEi&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;iHKB&quot; data-lang=&quot;swift&quot;&gt;func earthGlobe() -&amp;gt; String { 
return &amp;quot;\u{1F30F}&amp;quot; 
} 

func volcano() -&amp;gt; String { 
return &amp;quot;\u{1F30B}&amp;quot; 
} 

func statue() -&amp;gt; String { 
return &amp;quot;\u{1F5FD}&amp;quot; 
} 

func rock() -&amp;gt; String { 
return &amp;quot;\u{1FAA8}&amp;quot; 
} 

func wood() -&amp;gt; String { 
return &amp;quot;\u{1FAB5}&amp;quot; 
} 

print(earthGlobe() + volcano() + statue() + rock() + wood())&lt;/pre&gt;
  &lt;h3 id=&quot;2AU4&quot;&gt;&lt;/h3&gt;
  &lt;h3 id=&quot;v7zn&quot;&gt;2. Снова шахматные клетки. Реализовать функцию, которая принимает букву и символ и возвращает строку “белая” или “черная”. Строку потом распечатайте в консоль&lt;/h3&gt;
  &lt;p id=&quot;3mQl&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;WopT&quot; data-lang=&quot;swift&quot;&gt;
let x:Character = &amp;quot;D&amp;quot;
let yIdx = 2
let chessCells = &amp;quot;ABCDEFGHIJ&amp;quot;

if let index = chessCells.index(of: x) {
    let xIdx = index.encodedOffset
    print((xIdx + yIdx) % 2 &amp;gt; 0 ? &amp;quot;Black&amp;quot; : &amp;quot;White&amp;quot;)
} else {
    print(&amp;quot;Error&amp;quot;)
}&lt;/pre&gt;
  &lt;p id=&quot;8kDo&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;nX4k&quot;&gt;Порядок действий:&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jF9E&quot;&gt;&lt;/p&gt;
  &lt;ol id=&quot;ln38&quot;&gt;
    &lt;li id=&quot;SyBX&quot;&gt;Задаем константу &lt;code&gt;x &lt;/code&gt;типа Character.&lt;/li&gt;
    &lt;li id=&quot;y0cX&quot;&gt;Задаем константу &lt;code&gt;yIdn&lt;/code&gt; типа &lt;code&gt;Int&lt;/code&gt;.&lt;/li&gt;
    &lt;li id=&quot;GOjr&quot;&gt;Задаем константу &lt;code&gt;chessCells &lt;/code&gt;со всеми буквами по x координате.&lt;/li&gt;
    &lt;li id=&quot;2dKq&quot;&gt;Если константа index равна &lt;code&gt;chessCells.index(of: x)&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;gR2Z&quot;&gt;Константа &lt;code&gt;xIdx &lt;/code&gt;равна &lt;code&gt;index.encodedOffset&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;Bx3J&quot;&gt;выводим в консоль &lt;code&gt;((xIdx + yIdx) % 2 &amp;gt; 0 ? &amp;quot;Black&amp;quot; : &amp;quot;White&amp;quot;)&lt;/code&gt;&lt;/li&gt;
    &lt;li id=&quot;yhC1&quot;&gt;иначе выводим в консоль &lt;code&gt;&amp;quot;Error&amp;quot;&lt;/code&gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;UlTE&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;BKuY&quot;&gt;Обьяснение: &lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nGMq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;y46L&quot;&gt;.index(of: x)  - проверяет присутствие и устанавливает индекс символу &amp;quot;D&amp;quot; в коллекции символов &amp;quot;ABCDEFGHIJ&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;enCv&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;4Vwj&quot;&gt;А теперь заворачиваем в функцию:&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;WJAY&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;WJAY&quot; data-lang=&quot;swift&quot;&gt;let x:Character = &amp;quot;D&amp;quot;
let yIdx = 2

func whatColor(_ x: Character,_ yIdx: Int) -&amp;gt; String {

    let chessCells = &amp;quot;ABCDEFGHIJ&amp;quot;
    if let index = chessCells.index(of: x) {

        let xIdx = index.encodedOffset
        return (xIdx + yIdx) % 2 &amp;gt; 0 ? &amp;quot;Black&amp;quot; : &amp;quot;White&amp;quot;

    } else {

    return &amp;quot;Error&amp;quot;

    }

}


print(&amp;quot;\(x)\(yIdx): &amp;quot;, whatColor(x, yIdx))
&lt;/pre&gt;
  &lt;h3 id=&quot;Q2pY&quot;&gt;&lt;br /&gt;3. Создайте функцию, которая принимает массив, а возвращает массив в обратном порядке. Можете создать еще одну, которая принимает последовательность и возвращает массив в обратном порядке. Чтобы не дублировать код, сделайте так, чтобы функция с последовательностью вызывала первую.&lt;/h3&gt;
  &lt;p id=&quot;utMk&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;H1dd&quot; data-lang=&quot;swift&quot;&gt;
// 1
let  array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

func revArr(with array: [Int]) -&amp;gt; [Int] {
    return array.reversed()
}
print(&amp;quot;Before reverse: \(array) \nAfter reverse: &amp;quot;,revArr(with: array))

// 2
func revSeq(sequence: Int...) -&amp;gt; [Int] {
    return revArr(with: sequence)
}
print(&amp;quot;Reverse sequence:&amp;quot;, revSeq(sequence: 10, 20, 30, 40, 50))
&lt;/pre&gt;
  &lt;p id=&quot;MgpA&quot;&gt;&lt;/p&gt;
  &lt;blockquote id=&quot;7MpL&quot;&gt;В первой функции мы получаем массив из константы &lt;code&gt;array&lt;/code&gt;, а во второй мы задаем константу/переменную прямиком в функции, а значение во время вызова функции.&lt;/blockquote&gt;
  &lt;p id=&quot;Fgzh&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;hCuj&quot;&gt;4. Разберитесь с inout самостоятельно и выполните задание номер 3 так, чтобы функция не возвращала перевернутый массив, но меняла элементы в существующем. Что будет если убрать inout?&lt;/h3&gt;
  &lt;p id=&quot;4V2m&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;VVv2&quot; data-lang=&quot;swift&quot;&gt;func revArr(_ array: inout [Int]) {
    array = array.reversed()
}
var  array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
revArr(&amp;amp;array)
print(&amp;quot;reverse: \(array)&amp;quot;)

//reverse: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]&lt;/pre&gt;
  &lt;p id=&quot;OD8L&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;kBtf&quot;&gt;5. Создайте функцию, которая принимает строку, убирает из нее все знаки препинания, делает все гласные большими буквами, согласные маленькими, а цифры меняет на соответствующие слова (9 -&amp;gt; nine и т.д.)&lt;/h3&gt;
  &lt;p id=&quot;lCQv&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;I8UK&quot; data-lang=&quot;swift&quot;&gt;
func changedText(text: inout String) {
    var resultText = &amp;quot;&amp;quot;
    let digitDictionary = [0: &amp;quot;Zero&amp;quot;, 1: &amp;quot;One&amp;quot;, 2: &amp;quot;Two&amp;quot;, 3: &amp;quot;Three&amp;quot;, 4: &amp;quot;Four&amp;quot;, 5: &amp;quot;Five&amp;quot;, 6: &amp;quot;Six&amp;quot;, 7: &amp;quot;Seven&amp;quot;, 8: &amp;quot;Eight&amp;quot;, 9: &amp;quot;Nine&amp;quot;]
    for character in text { 
        let lowerCaseCharacter = String(character).lowercased()
    switch lowerCaseCharacter {
    case &amp;quot;a&amp;quot;, &amp;quot;e&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;o&amp;quot;, &amp;quot;u&amp;quot;, &amp;quot;y&amp;quot;:
        resultText += lowerCaseCharacter.uppercased()
    case &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;, &amp;quot;d&amp;quot;, &amp;quot;f&amp;quot;, &amp;quot;g&amp;quot;, &amp;quot;h&amp;quot;, &amp;quot;j&amp;quot;, &amp;quot;k&amp;quot;, &amp;quot;l&amp;quot;, &amp;quot;m&amp;quot;, &amp;quot;n&amp;quot;, &amp;quot;p&amp;quot;, &amp;quot;q&amp;quot;, &amp;quot;r&amp;quot;, &amp;quot;s&amp;quot;, &amp;quot;t&amp;quot;, &amp;quot;v&amp;quot;, &amp;quot;w&amp;quot;, &amp;quot;x&amp;quot;, &amp;quot;z&amp;quot;:
        resultText += lowerCaseCharacter
    case &amp;quot;0&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;3&amp;quot;, &amp;quot;4&amp;quot;, &amp;quot;5&amp;quot;, &amp;quot;6&amp;quot;, &amp;quot;7&amp;quot;, &amp;quot;8&amp;quot;, &amp;quot;9&amp;quot;:
        if let word = digitDictionary[Int(lowerCaseCharacter)!] {
            resultText += word
        }
    default: resultText += &amp;quot; &amp;quot;
    }
    text = resultText
    }
}

var text = &amp;quot;Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. and the open-source community. First released in 2014, Swift was developed as a replacement for Apple&amp;#x27;s earlier programming language Objective-C, as Objective-C had been largely unchanged since the early 1980s and lacked modern language features. Swift works with Apple&amp;#x27;s Cocoa and Cocoa Touch frameworks, and a key aspect of Swift&amp;#x27;s design was the ability to interoperate with the huge body of existing Objective-C code developed for Apple products over the previous decades. It was built with the open source LLVM compiler framework and has been included in Xcode since version 6, released in 2014.&amp;quot;

changedText(text: &amp;amp;text)

print(&amp;quot;Text after changed: \n&amp;quot;, text)


/* Text after changed: 
 swIft Is A gEnErAl pUrpOsE  mUltI pArAdIgm  cOmpIlEd prOgrAmmIng lAngUAgE dEvElOpEd bY ApplE Inc  And thE OpEn sOUrcE cOmmUnItY  fIrst rElEAsEd In TwoZeroOneFour  swIft wAs dEvElOpEd As A rEplAcEmEnt fOr ApplE s EArlIEr prOgrAmmIng lAngUAgE ObjEctIvE c  As ObjEctIvE c hAd bEEn lArgElY UnchAngEd sIncE thE EArlY OneNineEightZeros And lAckEd mOdErn lAngUAgE fEAtUrEs  swIft wOrks wIth ApplE s cOcOA And cOcOA tOUch frAmEwOrks  And A kEY AspEct Of swIft s dEsIgn wAs thE AbIlItY tO IntErOpErAtE wIth thE hUgE bOdY Of ExIstIng ObjEctIvE c cOdE dEvElOpEd fOr ApplE prOdUcts OvEr thE prEvIOUs dEcAdEs  It wAs bUIlt wIth thE OpEn sOUrcE llvm cOmpIlEr frAmEwOrk And hAs bEEn InclUdEd In xcOdE sIncE vErsIOn Six  rElEAsEd In TwoZeroOneFour
*/&lt;/pre&gt;

</content></entry></feed>