2016-07-27 2 views
1
class Solution { 
    func reverseString(s: String) -> String { 
    let rev = String(s.characters.reverse()) 
    print(rev) 
} 
} 

내가 오류는 다음과 같습니다 문자열을 반환 할 것으로 예상 함수에 누락 반환스위프트 놀이터와 LeetCode OJ

Leetcode OJ의 동일한 기능이 나에게 다음과 같은 오류 제공 :

라인 4 :

var str = "Hello" 
let rev = String(str.characters.reverse()) 
0 : 내가 그것을 잘 작동 놀이터에서 다음을 입력하는 동안 비 기능 유형 '거리'(일명 '지능')

의 값을 호출 할 수 없습니다

나는 이것에 대한 해결책을 알 수없고 왜 함수가 반환 유형과 Leetcode OJ를 사용하여 놀이터에서 다르게 행동하는지 보지 못합니다.

신속한 멍청한 놈과 어떤 도움이 가장 감사하겠습니다! 감사

+1

는'reverseString은의''String'을 반환하지만 당신은'rev'을 반환하지 않습니다 또는 함수의 끝에있는 문자열 (s.characters.reverse()). 값만 인쇄하십시오. – Khundragpan

+0

클래스 해결책 { func reverseString (s : String) -> 문자열 { 하자 레브 = 문자열 (s.characters.reverse()) 반환 } } reverseString ("안녕하세요") 오류 레브 : 놀이터 실행 실패 : MyPlayground.playground : 11 : 1 : 오류 : 'reverseString' reverseString되지 않은 식별자를 사용하면 (「안녕하세요」)을 ^ ~~~~~~~~~~~~ 또한 서식 유감 임. 천천히 배우기 :/ – baconSoda

+0

당신은'reverseString' 함수가'String'을 돌려 주겠다고 말하고 있습니다 만, 당신은 아무것도 반환하지 않습니다. 'print (rev)'줄 다음에'return rev'을 추가하십시오. – Khundragpan

답변

0

이 시도 :

class Solution { 
func reverseString(s: String) -> String { 
    let rev = String(s.characters.reverse()) 
    print(rev) 
    return rev 
    } 
} 

var str = Solution() 
str.reverseString("Hello") 

해당 유형의 유형에 대한 확장을 만드는 것보다 특정 Type에서 작동 사용자 정의 메소드를 추가하려는 경우.

예를 들어
extension String { 
    // you methods 
} 

:

extension String { 
    func length() -> Int { 
     return self.characters.count 
    } 
} 

이 그럼 당신은 문자열 유형에 클래스 기능으로 사용할 수는

let greetings: String = "Hello" 
greetings.length() // 5 
+0

Thanks @ K.Nimo!그것은 효과가 있었다. 그래서 마지막 두 줄 ... 'var str = Solution()' 이것은 Solution 클래스의 인스턴스를 만드는 것입니까? 그리고'str.reverseString ("Hello")' 은 Solution 클래스 (이 경우 str) 인스턴스의 역 문자열 함수에 액세스하는 것입니까? – baconSoda