2014-10-22 34 views
8

Có một đoạn mã trong sách nhanh được cung cấp bởi Apple. Tôi gõ nó trong sân chơi xcode nhưng nó cho thấy "Nhà điều hành không phải là một nhà điều hành nhị phân được biết đến" và "Sử dụng các định danh chưa được giải quyết" lỗi. Mã này là:Sử dụng ".." với vòng lặp

Xcode Playground code Theo sách, toán tử ".." có thể được sử dụng cho vòng lặp để tạo phạm vi bỏ qua giá trị trên của nó. Nhưng nó hiển thị lỗi. Thay đổi toán tử ".." thành "..." dường như sửa lỗi. Nhưng tại sao không ".." làm việc?

+0

Bạn cần phiên bản mới nhất của sách. Phiên bản bạn có là phiên bản beta của Swift. – Fogmeister

+0

Cảm ơn Fogmeister. –

Trả lời

16

Bạn có phiên bản cũ của sách nhanh.

Thông tin cho bạn đây. Phiên bản hiện tại của phạm vi nửa được đóng là 0..<3 không phải 0..3

+0

Một điều nữa, các loại sự cố này có xuất hiện nhiều hơn không? Họ sẽ liên tục thay đổi cú pháp nhanh nếu họ cảm thấy thích? –

+0

Cũng trong phiên bản mới nhất (1.1) họ đã thêm khả năng có tùy chọn trả về từ init. Đó là một lỗi phá vỡ và những thay đổi mã cần thiết để sửa chữa nó. Trong câu trả lời cho câu hỏi của bạn, có lẽ, vâng. Swift vẫn là một ngôn ngữ rất trẻ. Những thay đổi giữa mã của bạn và phiên bản hiện tại đã được thực hiện trước phiên bản 1.0 và như vậy được mong đợi. Sẽ có ít thay đổi hơn từ bây giờ nhưng điều đó không có nghĩa là sẽ không có gì thay đổi. – Fogmeister

+0

Tôi đã đọc một phiên bản cũ của ibook nhanh và thậm chí Xcode là 6.0.1. Tôi đã cập nhật cả hai. Cảm ơn thông tin và phản hồi nhanh chóng Fogmeister. –

1

Mọi thứ giờ đây khác nhau trong Swift 2. Đây là cách thực hiện ngay bây giờ trong Xcode 7 (câu hỏi gốc hiển thị cao trong tìm kiếm google cho vấn đề cụ thể này) :

for i in 1 ..< Process.argc { 
    let index = Int(i); 

    if let arg = String.fromCString(Process.unsafeArgv[index]) { 
     switch arg { 
     case "-whatever": 
      // do something 

     default: 
      break 
     } 
    } 
} 
+0

Ah, xin lỗi. Ban đầu tôi đến đây vì vấn đề ".." nhưng tôi cũng đang cố xử lý các đối số dòng lệnh. Giải pháp được đăng của tôi rõ ràng chứa nhiều hơn mức cần thiết, nhưng tôi cho rằng nó không thể bị tổn thương. –

Các vấn đề liên quan