일부 계산 후에 행렬을 인쇄하는 프로그램을 작성했으며 모든 요소에 대해 nan
의 결과를 얻고 있습니다. 행렬의 첫 번째 요소가 nan
이 되 자마자 루프를 for
루프로 나누고 싶습니다. 어떻게해야합니까? 터미널에서 nan
을 포함하는 행렬 a
을 모든 요소로 인쇄했으며 a[1][1]=="nan"
및 a[{{1},{1}}]=="nan"
모두가 false
을 반환합니다. 왜 그들은 false
을 반환하지 않으며 대신 어떤 진술을 사용해야합니까?숫자/값이 N0n인지 확인하십시오.
2
A
답변
6
숫자를 문자열 ("nan"
)과 비교하기 때문에 테스트가 실패합니다. 당신이 다수 확실 경우
, 가장 쉬운 방법은 다음과 같습니다
if a[1][1] ~= a[1][1] then
은 IEEE 754에 따르면, nan
값 자체를 포함하여 모든 값과 같지 않은 것으로 간주되기 때문이다.
0
이 시도 :
가for x = 1, x2 do -- x2 depends on how big you matrix is.
for y = 1, y2 do -- y2 the same as x2
-- some code depending on how your program works
if a[x][y] == nan then
print("X:" .. x .. ", Y:" .. y)
break
end
end
end
PS (유모 == 유모)가
+0
답변이 잘못되었습니다. 변수 "nan"은 루아에서 정의되지 않으므로 (nil)으로 평가됩니다. (nil == nil) 실제로 참입니다. 그러나 (0/0 == 0/0) false입니다! – joshuahhh
관련 문제
- 1. XML 데이터의 유효성을 확인하십시오. 값이 있는지 확인하십시오.
- 2. jQuery로 확인하십시오.
- 3. null을 확인하십시오.
- 4. bash를 확인하십시오
- 5. mobilefirst가로드되었는지 확인하십시오.
- 6. 확장을 확인하십시오
- 7. null을 확인하십시오.
- 8. Prototype이로드되었는지 확인하십시오.
- 9. 루프를 확인하십시오.
- 10. 파일인지 확인하십시오.
- 11. 쿠키가 있는지 확인하십시오. 출력 스크립트가 아닌 경우 확인하십시오.
- 12. 플로트 변수가 존재하는지 확인하십시오.
- 13. 기본 뷰어가 있는지 확인하십시오.
- 14. 목록이 있는지 확인하십시오.
- 15. 바운드 데이터의 URL을 확인하십시오.
- 16. firebird 데이터베이스가 존재하는지 확인하십시오.
- 17. Java 문자열의 문을 확인하십시오.
- 18. 문자열 PHP를 확인하십시오
- 19. 컨트롤이 화면에 있는지 확인하십시오.
- 20. 인터넷 연결이 가능한지 확인하십시오.
- 21. 달에 NSDate를 확인하십시오.
- 22. YQL 한도에 도달했는지 확인하십시오.
- 23. 오브젝트가 basetype이 아닌지 확인하십시오.
- 24. 변수가 숫자인지 배열인지 확인하십시오.
- 25. dataGridView가 비어 있는지 확인하십시오.
- 26. 이름이 데이터베이스에 있는지 확인하십시오.
- 27. 클래스가 비어있는 입력을 확인하십시오.
- 28. 이메일 주소가 존재하는지 확인하십시오.
- 29. MQ 큐의 깊이를 확인하십시오.
- 30. json.net 어린이가 있는지 확인하십시오.
'로컬 함수 때는 isNaN (V) 반환형 (V) == "번호"및 V ~ = V 단부 사실 ' – siffiejoe
' 로컬 함수 isNaN (v) return tostring (v) == tostring (0/0) end' –
@EgorSkriptunoff - 여전히 나노인데도 다른 문자열을 반환하므로 참이더라도 false를 반환합니다. 반환해야합니다. https://ideone.com/YoOljy – Rochet2