Модули объявлены в файлах проекта Swift на Linux - PullRequest
1 голос
/ 08 октября 2019

Я пытаюсь запустить новый проект Swift для некоторых учебных целей на Fedora 30.0 . Проект состоит из 2 простых файлов:

main.swift

let req: Request = RequestImpl()
req.sendRequest(url: "hello")

Request.swift

protocol Request {
    func sendRequest(url: String)
}

final class RequestImpl: Request {

    // MARK: - Request

    func sendRequest(url: String) {
        print(url)
    }
}

Проблема

Когда я запускаю команду swiftc main.swift на терминале, я получаю следующую ошибку:

$ swiftc main.swift 
main.swift:1:10: error: use of undeclared type 'Request'
let req: Request = RequestImpl()
         ^~~~~~~

PS: Я запускаюswiftc Request.swift до того, как я выполню указанную выше команду.

1 Ответ

1 голос
/ 08 октября 2019

Это должно скомпилироваться, но печать не работает:

$ swiftc Request.swift main.swift

Если вы хотите создать модуль с несколькими файлами и запустить его, я предложу создать исполняемый пакет, собери и запусти .

...