m323/Sources/Aufgabe6/first.swift
cediackermann 0bc8137078
refactor(m323): per-directory BUILDs, drop dir spaces, add Scala app
- Rename "Aufgabe 5"->Aufgabe5 and "Aufgabe 6"->Aufgabe6; spaces broke
  bazel run (Aspect URL-encoding, scala/JVM launcher self-path).
- Per-directory BUILD.bazel: Aufgabe5 (swift_binary), Aufgabe6 (swift_binary).
- Aufgabe6/Third: Scala app via rules_scala (scala_library + scala_binary).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 08:40:43 +02:00

46 lines
1 KiB
Swift

import Foundation
class Course {
let name: String
let students: [String]
init(name: String, students: [String]) {
self.name = name
self.students = students
}
}
let courses = [
Course(name: "M323", students: ["Peter", "Petra", "Paul", "Paula"]),
Course(name: "M183", students: ["Paula", "Franz", "Franziska"]),
Course(name: "M117", students: ["Paul", "Paula"]),
Course(name: "M114", students: ["Petra", "Paul", "Paula"]),
]
// print(
// courses.map {
// return $0.students
// }.filter {
// $0.contains("Peter")
// }.count
// )
// print(
// courses.map {
// return $0.students
// }.filter {
// $0.contains("Petra")
// }.count
// )
func studentAttendsCourse(studentName: String, courses: [Course]) -> String {
let visitedCourses = courses.map {
return ($0.name, $0.students)
}.filter {
$0.1.contains(studentName)
}.map {
return $0.0
}
return
"\(studentName) visits the following courses: \(visitedCourses.joined(separator: ", "))"
}