В моем терминале работает следующий диалог:
themini:~ mattneubelcap$ swift
Welcome to Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15).
Type :help for assistance.
1> :
(lldb) expr -lSwift -- import Foundation
(lldb) expr -lSwift -- "howdy" as NSString
Успех второй команды доказывает, что Foundation был успешно импортирован. Если нет, мы получили бы error: use of undeclared type 'NSString'
.
Обратите внимание на отсутствие пробела между -l
и Swift
. Я не знаю, почему «те же самые команды» работают с использованием LLDB в Xcode, то есть с пробелом. Конечно, если вы наберете help expr
, у вас будет впечатление, что -l Swift
должно работать. Тем не менее эксперимент показывает, что в Терминале он должен быть либо -lSwift
(без пробела), либо --language Swift
(пробел), как и большинство команд командной строки. Может ли быть так, что Xcode LLDB более простителен или придерживается других правил синтаксиса (использует другой парсер)? Не имею представления.