abcdefg12345
오리지널 포스터- 2013년 7월 10일
- 2017년 10월 21일
스위프트 4
코드: |_+_|
나중에 형식을 지정할 수 있도록 문자열이어야하기 때문에 변수 문자열을 사용하고 있습니다.
코드: |_+_|
abcdefg12345
오리지널 포스터- 2013년 7월 10일
- 2017년 10월 21일
코드: |_+_|
0002378
정지 된
- 2017년 5월 28일
- 2017년 10월 23일
그리고 옵션은 장점도 있지만 쓰레기 수거통의 상단 모서리에 내 컴퓨터를 부수고 싶게 만들기도 합니다.
그러나 Swift가 실제로 엉덩이를 걷어차는 곳은 폐쇄 부서입니다... 오 예! Java에도 지금은 있지만 ...
그리고 물론 Swift가 유형 선언과 그 성가신 세미콜론에서 덜 엄격하다는 사실은 ... 굉장합니다!
반응:abcdefg12345
0002378
정지 된
- 2017년 5월 28일
- 2017년 10월 24일
새로운 변수가 필요하지 않습니다. '!'를 추가하면 됩니다. Double(string)에 연결하면 작동합니다.
나는 이 경우에 Swift가 어리석은 것에 대해 틀렸다고 생각합니다. 그러나 나는 그러한 컴파일러 불만(두 개의 다른 숫자 유형을 비교할 수 없음)의 많은 경우를 접했습니다.
그린
- 2015년 7월 15일
- 포트 워스
- 2017년 10월 24일
또는 선택적 바인딩을 사용하여 값을 래핑 해제할 수 있습니다. 강제 풀기를 사용하기 전에 먼저 이러한 방법 중 하나를 시도합니다.
그나셔729
정지 된
- 2005년 11월 25일
- 2017년 10월 24일
maculateConception은 다음과 같이 말했습니다: 저는 Swift가 언어로서 매우 웃기다고 생각합니다. 특히 그렇습니다. 자바 프로그래밍에서 왔습니다. 그리고, 당신은 그 가장 좋은 예 중 하나를 꺼냈습니다.그것은 아주 단서입니다. 문제는 OP가 선택적 값인 Swift의 기본 기능을 모른다는 것입니다. String에 숫자가 포함되어 있지 않으면 생성자 Double(String)이 분명히 실패할 수 있습니다. 그렇기 때문에 Double(String)은 Double 유형의 결과를 생성하지 않고 생성할 수 없지만 Double 유형 중 하나는 생성하지 않습니까? , 선택적 Double입니다. 그리고 선택적 Double은 Int와 비교할 수 없습니다.
당신의 '해결책'은 정말, 정말 끔찍합니다. NS ! '이 변환이 성공할 것이라고 확신합니다. 그렇지 않으면 앱을 종료하십시오'. 하자 d = 더블('1234x')! 그냥 충돌합니다. 의도적으로. nil을 확인하지 않았고 nil이었기 때문입니다.
올바른 방법은 오류를 확인하는 것입니다. 예를 들어
d = Double(MyValue), d > 10 {
// MyValue에는 숫자가 포함되어 있으며 숫자는 > 10입니다.
} 또 다른 {
// MyValue에 숫자가 없거나 숫자가<= 10.
}
안전하고 실제로 작동하는 코드를 작성하는 것이 가치가 있다고 생각한다면 Swift가 올바른 언어입니다.
0002378
정지 된
- 2017년 5월 28일
- 2017년 10월 24일
gnasher729가 말했다: 그것은 아주 단서입니다. 문제는 OP가 선택적 값인 Swift의 기본 기능을 모른다는 것입니다. String에 숫자가 포함되어 있지 않으면 생성자 Double(String)이 분명히 실패할 수 있습니다. 그렇기 때문에 Double(String)은 Double 유형의 결과를 생성하지 않고 생성할 수 없지만 Double 유형 중 하나는 생성하지 않습니까? , 선택적 Double입니다. 그리고 선택적 Double은 Int와 비교할 수 없습니다.
학교에서 왕따를 당했습니까? 저를 공격하지 않고는 대응을 하지 못하셔서 자존감이 많이 낮은 것 같습니다.
이것이 여러분과의 처음이자 마지막 소통이 될 것입니다. 당신에게 제안 - 좀 더 공손한 방식으로 의사 소통을 시도하십시오. 그러면 인생은 훌륭해질 것입니다. 잘 지내세요.
그린
- 2015년 7월 15일
- 포트 워스
- 2017년 10월 25일
gnasher729는 다음과 같이 말했습니다: 올바른 방법은 오류를 확인하는 것입니다. 예를 들어
d = Double(MyValue), d > 10 {
// MyValue에는 숫자가 포함되어 있으며 숫자는 > 10입니다.
} 또 다른 {
// MyValue에 숫자가 없거나 숫자가<= 10.
}
이것은 모호합니다. 값이<= 10 should produce different results from the value being nil? To be fair, the OP's post is ambiguous as they were forcing the unwrap, meaning a nil value would crash. However in most business cases, a nil value would be handled differently (safely) from an insufficient value.
훨씬 더 깨끗한 방법은 다음과 같습니다.
코드: |_+_|
하지만 MyValue는 처음부터 Double로 저장해야 하고 나중에 필요한 서식을 처리하기 위해 NumberFormatter를 구현해야 한다고 생각합니다. 이는 코드를 읽는 사람에게 훨씬 더 낮은 인지 부담을 줍니다.
그나셔729
정지 된
- 2005년 11월 25일
- 2017년 10월 26일
maculateConception은 다음과 같이 말했습니다: 학교에서 왕따를 당했습니까? 저를 공격하지 않고는 대응을 하지 못하셔서 자존감이 많이 낮은 것 같습니다.
이것이 여러분과의 처음이자 마지막 소통이 될 것입니다. 당신에게 제안 - 좀 더 공손한 방식으로 의사 소통을 시도하십시오. 그러면 인생은 훌륭해질 것입니다. 잘 지내세요.
글쎄, 나는 당신을 공격하지 않았다. 나는 당신이 Swift에 대해 거의 알지 못한다는 것을 보여주는 당신의 게시물을 공격했고 매우 위험한 권장 사항을 포함했습니다. NS
사이러스
에게
- 2008년 8월 21일
- 2017년 10월 26일
끼워 넣다
- 2018년 4월 14일
- 2018년 4월 14일
1) '!' 표시를 추가하여 이 값이 정확함을 나타낼 수 있습니다.
코드: |_+_| 2) 값을 정의할 때 유형을 지정할 수 있습니다.
코드: |_+_| 에게
어멘터프라이즈
- 2006년 1월 28일
- 2018년 4월 27일
ynstek은 다음과 같이 말했습니다: Swift, 귀하의 값이 정확히 int인지 확실하지 않습니다. 확인하는 두 가지 옵션이 있습니다.
1) '!' 표시를 추가하여 이 값이 정확함을 나타낼 수 있습니다.
코드: |_+_| 2) 값을 정의할 때 유형을 지정할 수 있습니다.
코드: |_+_|
Int 변수에 double에 문자열 캐스트를 할당하려고 하기 때문에 #2 예제가 실패할 것이라고 생각합니다. 또한 MyValue가 nil이 아니라고 가정하므로 nil이거나 숫자가 아닌 경우 런타임 오류가 발생할 수 있습니다.
귀하의 # 1 예제 설명도 옳지 않습니다. 느낌표는 값을 Int로 변환하지 않습니다. 선택적 변수 값의 래핑을 해제합니다. 귀하의 예에서는 MyValue가 nil이 아니거나 숫자가 아닌 값이 아닌 경우에만 Int가 아닌 Double 값으로 끝납니다.
인기 게시물