是否可以在 swift 中清除控制台?
Is it possible to clear the console in swift?
我正在创建一个控制台应用程序(课程作业),最好在进入下一个屏幕后清除控制台
比如用户选择了1个case后,console会清空,clean的console上会出现一个新的menu,而不是在之前的text
import Foundation
func getValue() -> Int? {
guard let line = readLine(), let value = Int(line) else {
return nil
}
return value
}
question: while true {
print("""
1. Log in
2. Create new user
3. Quit
""")
guard let value = getValue() else {
continue
}
switch value {
case 1:
print("you have selected number one")
case 2:
print("you have selected number two")
case 3:
print("Good bye")
break question
default:
print("Try again")
// print("\u{001B}[2J") //<- Didn't work
}
}
如本例所示,我希望在每次输入错误后清除并重新出现该字段
print("\u{001B}[2J") just get a lot of empty lines
我认为有两种方法可能适合您。
第一个已经是 :
的答案
print("\u{001B}[2J")
第二种方法是只打印许多换行符,直到旧的输出不在屏幕上。
我正在创建一个控制台应用程序(课程作业),最好在进入下一个屏幕后清除控制台
比如用户选择了1个case后,console会清空,clean的console上会出现一个新的menu,而不是在之前的text
import Foundation
func getValue() -> Int? {
guard let line = readLine(), let value = Int(line) else {
return nil
}
return value
}
question: while true {
print("""
1. Log in
2. Create new user
3. Quit
""")
guard let value = getValue() else {
continue
}
switch value {
case 1:
print("you have selected number one")
case 2:
print("you have selected number two")
case 3:
print("Good bye")
break question
default:
print("Try again")
// print("\u{001B}[2J") //<- Didn't work
}
}
如本例所示,我希望在每次输入错误后清除并重新出现该字段
print("\u{001B}[2J") just get a lot of empty lines
我认为有两种方法可能适合您。
第一个已经是
print("\u{001B}[2J")
第二种方法是只打印许多换行符,直到旧的输出不在屏幕上。