복붙노트

[SCALA] 어떻게 대문자 변수로 패턴 일치에?

SCALA

어떻게 대문자 변수로 패턴 일치에?

내가 튜플을 반환 스칼라의 방법을 가지고하자이 방법은 '시험'이라고 말한다. 그럼 내가하고 싶은

val (X,Y) = test()

변수 이름은 소문자 그러나, 패턴 매칭은 즉, 스칼라에서 작동 :

val(_X,_Y) = test(); val X = _X; val Y = _Y

... 작품을 좋아하지만, 못생긴, 그리고 간결한. X와 Y는 행렬이기 때문에, 정말 소문자 변수를 사용하고 싶지 않습니다. (scipy 및 MATLAB에서 나는 예를 들어 이러한 제한이없는 것입니다).

나는`x`를 수행하여 대문자들, 즉처럼 행동해야합니다 소문자 변수를 만들 수있는 방법이 있다고 생각합니다. 아마도 소문자 사람처럼 행동 변수를 대문자로 만드는 몇 가지 방법은 무엇입니까? 그래서, 내 질문은 : 패턴 매칭의 몇 가지 방법은 스칼라에서 대문자 변수에 직접 있는가?

해결법

  1. ==============================

    1.짧은 대답은 할 일이 아니다.

    짧은 대답은 할 일이 아니다.

    구문 규칙은 다른 사람에 대한 코드가 읽기 쉽고 이해합니다. 스칼라의 규칙은 변수는 소문자로 시작하고 상수와 클래스는 대문자로 시작한다는 것입니다. 이를 위반하여뿐만 아니라 당신은 패턴 매칭 문제와 같은 문제를 얻을, 당신의 코드가 덜 읽을된다. (혹시, 당신은 그 사람을 저주 할 것입니다 코드는 규칙에 대한 관심이 없었어요 다른 사람에 의해 쓰여진 읽을 경우, 날 믿어.)

    당신이 변수 행렬임을 강조하고 싶은 경우에, 나는 당신이 xMatrix 및 yMatrix 또는 같은 것을 사용하는 것이 좋습니다. 이것은 그들이 변수를 걸 그들이 행렬을 나타내는 것이 분명 할 것이다.

    또는 모든 행렬 변수는 XM과 YM 같은하자의 말 "M"로 끝나는 것 프로젝트에 컨벤션 특정을 만들 수 있습니다.

    그것은 당신의 코드를 읽을 수 있다면 몇 문자를 입력 그것의 가치.

  2. ==============================

    2.이 작업을 수행 할 수있는 방법은 없습니다 및 없을 것이다. 당신은 아직 변수 이름 대문자을 할 필요가 없다, 그것은 매트릭스 있음을 알 수있는 변수의 유형이있다.

    이 작업을 수행 할 수있는 방법은 없습니다 및 없을 것이다. 당신은 아직 변수 이름 대문자을 할 필요가 없다, 그것은 매트릭스 있음을 알 수있는 변수의 유형이있다.

  3. from https://stackoverflow.com/questions/12636972/how-to-pattern-match-into-an-uppercase-variable by cc-by-sa and MIT license