스칼라에서 == 문자 비교

cantdutchthis

스칼라를 스스로 가르치려고합니다. 그리고 나는 임의적으로 보이는 것에 갇혀 있습니다. 두 문자가 서로 같은 날씨를 비교하고 싶습니다.

진정한 예

예상대로 true를 반환합니다.

"(" == "(" 
"(".equals("(")

내가 확인하고 싶은 것

"(an exampl(e))".toList(0)      // res : Char = (

왠지 거짓

이들은 거짓을 반환합니다

"(an exampl(e))".toList(0).equals("(")
"(an exampl(e))".toList(0) == "("   
"(an exampl(e))".toList.head == "("  

여기에 뭔가 빠진 것 같아요. 문자 값을 목록 포인터와 비교하고 있습니까? 그렇다면 내가 가리키는 항목의 값이 같은지 "("어떻게 확인할 있습니까?

Lpiepiora

짧은 대답은 ")"가 아닌 ')'와 비교해야한다는 것입니다. ")"는 유형이 String아닙니다 Char.

REPL을 사용하면 쉽게 테스트 할 수 있습니다 (유형에주의).

scala> ')'
res0: Char = )

scala> ")"
res1: String = )

equals 메소드는 이와 비슷하게 정의 equals(obj: Any): Boolean되어 있으므로 코드 컴파일은 인수로 전달하는 참조에 상관이 없습니다. 그러나 false유형이 동일하지 않기 때문에 수표는 입니다.

그런데 나는 더 좋은 방법은 (없이이 같은 테스트를 작성하는 것입니다 생각 .toList으로 .head정의되어 StringOps아니라)

scala> "(an exampl(e))".head == '('
res2: Boolean = true

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바에서 두 문자열 비교

분류에서Dev

자바에서 두 문자 비교

분류에서Dev

xml 문자열 비교에 대한 문자열 비교 실패

분류에서Dev

xml 문자열 비교에 대한 문자열 비교 실패

분류에서Dev

Matlab에서 비 스칼라 첨자가있는 Accumarray?

분류에서Dev

비어있을 때 스칼라에 문자열 설정

분류에서Dev

Bash에서 두 문자열 비교

분류에서Dev

Rust에서 문자열 참조 비교

분류에서Dev

R에서 두 문자열 비교

분류에서Dev

Rescript에서 문자열 비교

분류에서Dev

FASM에서 두 문자열 비교

분류에서Dev

Bash에서 두 문자열 비교

분류에서Dev

freemarker에서 두 문자열 비교

분류에서Dev

Rebol 3에서 문자 비교

분류에서Dev

문자열에서 두 시간 비교

분류에서Dev

PHP에서 문자열 "0"비교

분류에서Dev

Haskell에서 문자열 비교

분류에서Dev

Lua에서 문자열 비교 실패

분류에서Dev

Coldfusion cfquery에서 두 문자 값 비교

분류에서Dev

Java에서 문자열 배열 비교

분류에서Dev

C에서 두 문자 값 비교

분류에서Dev

Perl에서 문자열을 "$"와 비교

분류에서Dev

Perl에서 문자열을 "$"와 비교

분류에서Dev

bash에서 문자열 비교

분류에서Dev

mongodb substr 문자열 뒤에서 비교

분류에서Dev

목록에서 문자열 비교

분류에서Dev

ANT에서 두 문자열 비교

분류에서Dev

쿼리에서 Oracle 문자열 비교

분류에서Dev

Bash에서 문자열 비교