標準入力からの文字列を読み込む時、SwiftではreadLine()
を使用します。が、最大で1023文字しか読み込めない時があるので要注意です。
- macOS向けCommand Line ToolプロジェクトをXcodeで開き、デバッグコンソールから標準入力を受け取る場合
- Terminalで
swift
コマンドで.swiftファイルを実行する場合
上記の場合は1024文字以上を一度に読み込もうとするとフリーズします。
長い文字列を受け付けるときはリダイレクトでファイルを読み込みましょう。
$ swift main.swift < input.txt
Discussion