首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Swift playground上使用STDIN?

如何在Swift playground上使用STDIN?
EN

Stack Overflow用户
提问于 2018-08-02 06:20:57
回答 2查看 0关注 0票数 0

我要在STDIN和STDOUT中编程,我需要在Xcode中创建一个命令行项目。但是如何在playground上进行标准输入。

每当我尝试在playground上运行这样的代码时

var input = readLine()!

我总是得到这个错误

Execution was interrupted, reason: EXC_BAD_INSTRUCTION (Code=EXC_l386_INVOP, subcode=0x0)

是否可以在playground上带有STDIN?

我知道这个错误是因为nil input变量,但是想知道如何解决这个nil值?

EN

回答 2

Stack Overflow用户

发布于 2018-08-02 14:32:19

SWIFT 3的固定解决方案

要使其工作,请创建一个新的命令行工具项目。

转到“文件” - >“新建” - >“项目” - >“macOS” - >“命令行工具”。

import Foundation

print("Hello, World!")


func solveMefirst(firstNo: Int , secondNo: Int) -> Int {
    return firstNo + secondNo
}

func input() -> String {
    let keyboard = FileHandle.standardInput
    let inputData = keyboard.availableData
    return NSString(data: inputData, encoding:String.Encoding.utf8.rawValue) as! String
}

let num1 = readLine()
let num2 = readLine()

var IntNum1 = Int(num1!)
var IntNum2 = Int(num2!)

print("Addition of numbers is :  \(solveMefirst(firstNo: IntNum1!, secondNo: IntNum2!))")

并使用运行项目 CMD + R

票数 0
EN

Stack Overflow用户

发布于 2018-08-02 16:02:17

尝试使用以下代码(https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html):

if let input = readLine() {
    print("Input: \(input)")
} else {
    print("No input.")
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档