Язык F# для чайников. Урок 3. Списки и кортежи. |
![]() |
![]() |
Автор megabax | |||||||||||||||
11.02.2013 г. | |||||||||||||||
Язык F# для чайников. Урок 3. Списки и кортежи.На прошлом уроке мы узнали, что в F# есть кортежи и списки. Теперь рассмотрим эти типы более подробно. И так, кортежи. Это пары, тройки или любое другое количество элементов одного или нескольких видов, например:
как, видим, могут быть так же и вложенные кортежи. Кортежу из переменных можно присвоить кортеж из значений, а потом эти переменные использовать отдельно:
Эта программа выдаст результат:
А вот присвоить кортежу из смеси значений и переменных другой кортеж, который будет с ним конфликтовать, уже не получиться. При попытке выполнить такой код:
произойдет исключительная ситуация: Вместо переменной можно использовать знак "_", он означает пропуск переменной (в том случае если какое то значение кортежа не нужно присваивать). Вот пример такого синтаксиса:
Для возврата первого элемента корежа используется функция fst, второго snd:
Данная программа так же выдаст:
Для третьего, четвертного и так далее элементов подобной функции не предусмотрено. Но можно написать ее самим. См. пример:
Данная программа выдаст
И так, я рассказал вам о кортежах. Теперь перейдем к спискам. Как вы уже знаете из прошлого урока, в отличии от кортежей, списки берутся не в круглые, а в квадратные скобки. Разумеется, это не единственное отличие. Иначе смысл вводить другой тип? Начнем с того, что список можно задать вот такой конструкцией:
которая сформирует список из 10 элементов от 1 до 10. Проиллюстрируем это вот на таком примере:
который выведет вот такой результат: Разумеется, если мы напишем, например, вот такую конструкцию:
то будет создан список с элементами от 3 до 15. С кортежами у нас такой номер не пройдет. Это более простой тип, чем списки. Можно создать списки и таким вот образом (при помощи цикла):
Вот что выдаст программа: Но это только программа. А вот так можно построить список:
И вот какой будет результат на этот раз: И так, думаю, вы почувствовали разницу между кортежами и списками. Но эта тема еще не закончена, в будущем мы изучим списки и выражение for .. in .. более подробно. |
|||||||||||||||
Последнее обновление ( 11.02.2013 г. ) |
« След. | Пред. » |
---|