Zakresy

Julia średnio zaawansowana

Anthony Markham

Quantitative Developer

Zakresy – UnitRange

  • range to obiekt z własnym typem danych.
  • Zakres tworzy się przez podanie początku i końca – obie wartości są włączne.
my_range = 1:10  # start:stop
  • Wydrukowanie range nie ujawnia sekwencji wartości przechowywanych w obiekcie!
my_range = 1:10
println(my_range)
1:10
  • UnitRange to najprostszy typ zakresu.
Julia średnio zaawansowana

Zakresy – StepRange

  • Aby utworzyć StepRange, podaje się wartość kroku, która wyznacza kolejne elementy zakresu.
my_range = 0:10:50  # start:step:stop
  • Wartość step określa następny element zakresu.
Julia średnio zaawansowana

Zakresy – definicja StepRange

  • Zdefiniowany StepRange ma:
    • wartość start równą jeden
    • wartość step równą 10
    • wartość end równą 50
my_range = 1:10:50
println(my_range)
1:10:50
Julia średnio zaawansowana

Zakresy – iteracja for

  • Wartości zakresu można rozpakować, iterując po nim.
  • Można to zrobić pętlą for, tak jak w przypadku wektora.
my_range = 0:10:50
for value in my_range
    println(value)
end
0
10
20
30
40
50
Julia średnio zaawansowana

Zakresy – dostęp

  • Do zakresów można uzyskać dostęp po elemencie, podobnie jak do wektorów.
  • start, step i stop zwracają odpowiednie wartości zakresu.
my_range = 0:10:50
println(my_range[2])
10
Julia średnio zaawansowana

Zakresy – dostęp

  • Do zakresów można uzyskać dostęp po elemencie, podobnie jak do wektorów.
  • start, step i stop zwracają odpowiednie wartości zakresu.
println(my_range.start)
println(my_range.step)
println(my_range.stop)
0
10
50
Julia średnio zaawansowana

Zakresy – iteracja while

  • Iteracja za pomocą pętli while wymaga dostępu do każdego elementu zakresu.
  • Zakresy używają notacji [] do dostępu do elementów, tak jak wektory.
  • Uwaga: ustawiamy i = 1, ponieważ Julia indeksuje od 1, nie od 0!
i = 1

while i <= length(my_range)
    println(my_range[i])
    i = i + 1
end
Julia średnio zaawansowana

Zakresy – rozpakowywanie splat

  • Operator splat ... służy do rozpakowywania iterowalnych obiektów.
my_range = 0:10:50
println([my_range...])
[0, 10, 20, 30, 40, 50]
  • To tylko jeden z prostych przypadków użycia operatora splat.
Julia średnio zaawansowana

Czas na ćwiczenia!

Julia średnio zaawansowana

Preparing Video For Download...