Скала для цикла | Цикл for в Scala: объяснение

Опубликовано: 2021-02-19

В Scala цикл for также известен как for-comprehensions . Его можно использовать для повторения, фильтрации и возврата отрепетированной коллекции. for - comprehension очень похож на цикл for в императивных языках; однако разница в том, что он составляет список результатов аллитераций.

В Scala есть несколько форм цикла for , которые описаны ниже:

Оглавление

For-Loop с диапазонами

Синтаксис

Самый простой синтаксис цикла for с диапазонами в Scala показан ниже:

for( var x <- Range ){

заявления);

}

Как показано выше, Range может быть любым диапазоном чисел, представленным от i до j или иногда как от i до j . Оператор со стрелкой влево ← известен как генератор, поскольку он генерирует отдельные значения из диапазона.

Кроме того, можно также использовать синтаксис:

for(w <-диапазон){

// Код..

}

Здесь w — это переменная, оператор знака со стрелкой влево ← — это генератор, а диапазон — это значение, которое содержит начальное и конечное значения. Диапазон представлен либо от i до j, либо от i до j.

Пример Scala For-Loop с использованием ключевого слова «to»

Использование «to» с циклом for включает как начальное, так и конечное значения. В примере, показанном ниже, мы можем использовать «to» для печати значений от 0 до n. Другими словами, цикл начинается с 0 и заканчивается на 10, что означает, что мы можем печатать номера страниц от 0 до 10.

// Программа Scala для иллюстрации того, как

// создаем цикл for, используя to

объект Главный

{

def main(аргументы: Массив[Строка])

{

println("Значение w равно:");

// Здесь цикл for начинается с 0

// и заканчивается на 10

for(w <- от 0 до 10)

{

распечатать(ш);

}

}

}

Выход:

В приведенном выше примере значение w равно:

0

1

2

3

4

5

6

7

8

9

10

Читайте: 10 лучших навыков, чтобы стать полноценным разработчиком

Пример Scala For-Loop с использованием ключевого слова «до»

Разница между использованием until и to заключается в следующем: to включает начальное и конечное значения, заданные в диапазоне, тогда как until исключает последнее значение данного диапазона. В приведенном ниже примере цикла for мы можем использовать until для вывода значений от 0 до n-1. Другими словами, цикл начинается с 0 и заканчивается на n-1, что дает 9. Итак, мы можем напечатать номера страниц от 0 до 9.

// Программа Scala для иллюстрации того, как

// создаем цикл for, используя до тех пор, пока

объект Главный

{

def main(аргументы: Массив[Строка])

{

println("Значение w равно:");

// Здесь цикл for начинается с 0

// и заканчивается на 10

for(w <- 0 до 10)

{

распечатать(ш);

}

}

}

Выход:

В приведенном выше примере значение w равно:

0

1

2

3

4

5

6

7

8

9

Читайте также: Python против Scala

Несколько значений в цикле For

Мы также можем использовать несколько диапазонов в одном цикле for . Эти диапазоны разделяются точкой с запятой (;). Давайте поймем это с помощью иллюстрации. В приведенном ниже примере мы использовали два разных диапазона в одном цикле, т. е. w <- 0 до 3; г <- 8 до 10.

// Программа Scala для иллюстрации того, как

// создаем несколько диапазонов в цикле for

объект Главный

{

def main(аргументы: Массив[Строка])

{

// цикл for с несколькими диапазонами

for(w <- от 0 до 3; z<- 8 до 10)

{

println("Значение w равно:" +w);

println("Значение y равно:" +z);

}

}

}

Выход:

Значение w: 0

Значение у:8

Значение w: 0

Значение у: 9

Значение w:1

Значение у:8

Значение w: 1

Значение у: 9

Значение w:2

Значение у:8

Значение w:2

Значение у: 9

Значение w:3

Значение у:8

Значение w:3

Значение у: 9

Оформить заказ: Заработная плата Full Stack Developer в Индии

For-Loop с коллекциями

В Scala мы можем использовать цикл for для эффективного перебора коллекций, таких как список, последовательность и т. д., либо с помощью цикла for-each, либо цикла for-comprehensions . Синтаксис цикла for с коллекциями в Scala показан ниже:

Синтаксис

for( var x <- List ){

заявления);

}

Здесь список переменных представляет собой тип коллекции со списком элементов, а цикл for выполняет итерацию по всем элементам, возвращая по одному элементу в переменной x за раз.

Давайте посмотрим на демонстрационную программу, приведенную ниже, чтобы понять цикл for с коллекциями . На иллюстрации мы создали коллекцию, используя переменную List для перечисления авторов на основе их рангов.

// Программа Scala для иллюстрации того, как

// используем цикл for с коллекцией

объект Главный

{

def main(аргументы: Массив[Строка])

{

вар ранг = 0;

val ranklist = Список(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Цикл for с коллекцией

for(ранг <- ранглист){

println("Ранг автора: " +rank);

}

}

}

Выход:

Рейтинг автора: 1

Рейтинг автора: 2

Рейтинг автора: 3

Рейтинг автора: 4

Рейтинг автора: 5

Рейтинг автора: 6

Рейтинг автора: 7

Рейтинг автора: 8

Рейтинг автора: 9

Рейтинг автора: 10

For-Loop с фильтрами

Цикл for в Scala позволяет фильтровать элементы из данной коллекции с помощью одного или нескольких операторов if в цикле for . Пользователи также могут добавить более одного фильтра к выражению for, разделяя их точкой с запятой (;). Ниже приведен синтаксис цикла for с фильтрами .

Синтаксис

for( var x <- Список

если условие1; если условие2…

){

заявления);

}

Давайте лучше разберемся в этом на примере. На приведенной ниже иллюстрации используются два фильтра для разделения данной коллекции. Например, в приведенном ниже примере фильтры исключают список авторов с рейтингом больше 2 и меньше 7.

// Программа Scala для иллюстрации того, как

// используем цикл for с фильтрами

объект Главный

{

def main(аргументы: Массив[Строка])

{

вар ранг = 0;

val ranklist = Список(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Цикл for с фильтрами

for(ранг <- ранглист

если ранг < 7; если ранг > 2 )

{

println("Ранг автора: " +rank);

}

}

}

Выход:

Рейтинг автора: 3

Рейтинг автора: 4

Рейтинг автора: 5

Рейтинг автора: 6

For-Loop с выходом

В Scala возвращаемое значение цикла сохраняется в переменной или может возвращаться через функцию. Для этого вы должны поставить перед телом выражения for ключевое слово yield . Ниже приведен синтаксис цикла for с yield .

Синтаксис

var retVal = for{ var x <- Список

если условие1; если условие2…

}

выход х

Примечание . В фигурных скобках перечислены переменные и условия, а retVal — это переменная, в которой все значения x будут храниться в виде коллекции.

Давайте лучше поймем это с помощью иллюстрации. В приведенном ниже примере выходные данные представляют собой переменную, в которой все значения рангов хранятся в виде коллекции. Цикл for отображает только список авторов, чей рейтинг больше 4 и меньше 8.

// Программа Scala для иллюстрации того, как

// используем цикл for с выходами

объект Главный

{

def main(аргументы: Массив[Строка])

{

вар ранг = 0;

val ranklist = Список(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// Цикл for с выходами

var output = for{ rank <- ranklist

если ранг > 4; если ранг != 8 }

ранг доходности

// Показать результат

for (ранг <- вывод)

{

println("Ранг автора: " + ранг);

}

}

}

Выход:

Рейтинг автора: 5

Рейтинг автора: 6

Рейтинг автора: 7

Рейтинг автора: 9

Рейтинг автора: 10

Изучайте онлайн -курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Заключение

Если вам интересно узнать больше о разработке программного обеспечения с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B в разработке программного обеспечения с полным стеком, которая предназначена для работающих профессионалов и предлагает более 500 часов тщательного обучения, более 9 проектов, и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Что такое язык программирования Скала?

Scala — это язык программирования общего назначения, разработанный для краткого, элегантного и безопасного с точки зрения типов выражения общих шаблонов программирования. Это гибрид функционального и объектно-ориентированного языка, который поддерживает конструкции функционального программирования, такие как функции высшего порядка и ленивое вычисление, но также обладает функциями объектно-ориентированного языка, такими как классы, объектные литералы и вывод типов. Scala — один из наиболее известных языков, разработанных для виртуальной машины Java (JVM), но его также можно скомпилировать в исходный код JavaScript или использовать среду выполнения .NET Common Language Runtime (CLR).

Что такое циклы в программировании?

Циклы — это операторы программирования, которые повторяют блок операторов еще несколько раз (целое число). Есть два типа циклов — for и while. Цикл повторяет блок кода до тех пор, пока не будет выполнено определенное условие. Вы можете использовать цикл для выполнения одной и той же задачи снова и снова, пока указанные критерии не будут выполнены. Существует несколько типов циклов, таких как цикл for, цикл while, цикл do while и цикл foreach. Каждый из этих типов имеет свои преимущества и варианты использования. Например, если вы хотите перебрать массив фиксированное количество раз, вы можете использовать циклы for. Если вы хотите зацикливаться на основе условия, вы можете использовать циклы while. Если вы хотите получить доступ к элементам массива, вы можете использовать цикл foreach.

Каково будущее языка Scala?

Scala — это язык программирования общего назначения, в котором реализованы принципы функционального программирования. Он не зависит от платформы. Scala — это статически типизированный язык с выводом типов. Это также позволяет писать код в объектно-ориентированном стиле. Scala имеет богатые библиотеки и лаконичность в кодировании. Эти факторы делают Scala очень популярным языком программирования. Если вы Java-программист, вам будет проще использовать Scala. Если вы не Java-программист и все еще хотите использовать Scala, вы можете использовать систему интерпретатора Scala. Scala имеет быстрорастущее сообщество, и выход на первое место в рейтинге уже не вопрос времени.