Menu
Coddy logo textTech

Właściwości listy: first i last

Część sekcji Logika i przepływ sterowania ścieżki Dart w Coddy. Lekcja 1 z 65.

Podczas pracy z listami często trzeba uzyskać dostęp do pierwszego lub ostatniego elementu. Zamiast używać indeksów, takich jak [0] lub [list.length - 1], Dart udostępnia dwie wygodne właściwości, które znacznie to upraszczają.

Właściwość .first zwraca pierwszy element listy, a właściwość .last zwraca ostatni element. Te właściwości są czytelniejsze i mniej podatne na błędy niż obliczanie pozycji indeksów.

List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];

String firstPlanet = planets.first;   // 'Mercury'
String lastPlanet = planets.last;     // 'Mars'

Te właściwości działają z każdą niepustą listą i automatycznie wykonują za Ciebie obliczenia indeksów. Dzięki temu Twój kod jest czytelniejszy i łatwiejszy do zrozumienia, gdy musisz pracować z elementami na początku lub na końcu list.

challenge icon

Wyzwanie

Łatwy

Utwórz program, który analizuje playlistę, pobierając pierwszy i ostatni utwór. Twój program powinien:

  1. Wczytać ciąg znaków reprezentujący nazwę playlisty
  2. Wczytać wiele ciągów znaków reprezentujących tytuły utworów (wczytywanie zakończy się po otrzymaniu pustego ciągu znaków)
  3. Użyć właściwości .first, aby pobrać pierwszy utwór z playlisty
  4. Użyć właściwości .last, aby pobrać ostatni utwór z playlisty
  5. Wypisać analizę playlisty w dokładnym formacie pokazanym poniżej

Na przykład, jeśli nazwa playlisty to "My Favorites", a utwory to "Bohemian Rhapsody", "Imagine", "Hotel California", Twój program powinien wypisać:

Playlist: My Favorites
Total songs: 3
Opening track: Bohemian Rhapsody
Closing track: Hotel California

Twój program musi obsługiwać playlisty zawierające dowolną liczbę utworów oraz używać właściwości .first i .last, aby pobierać utwór rozpoczynający i kończący playlistę.

Spróbuj swoich sił

import 'dart:io';

void main() {
  // Wczytaj nazwę playlisty
  String? playlistName = stdin.readLineSync();
  
  // Wczytuj utwory aż do pustego ciągu znaków
  List<String> songs = [];
  String? song;
  while ((song = stdin.readLineSync()) != null && song!.isNotEmpty) {
    songs.add(song);
  }
  
  // TODO: Napisz swój kod poniżej
  // Użyj songs.first i songs.last, aby uzyskać pierwszy i ostatni utwór
  
  // Wyświetl analizę playlisty
  print("Playlist: $playlistName");
  print("Total songs: ${songs.length}");
  // Wyświetl tutaj pierwszy i ostatni utwór
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Dart online