복붙노트

[SCALA] 어떻게 스칼라의 제품 종류에 대해 생각해야 하는가?

SCALA

어떻게 스칼라의 제품 종류에 대해 생각해야 하는가?

패키지 "스칼라"등등, 최대 Product22에 제품, 제품 1, 제품 2, 및라는 이름의 클래스의 번호가 있습니다.

이러한 클래스의 설명은 반드시 정확. 예를 들면 :

Product4 is a cartesian product of 4 components

정밀, 예. 의사 소통? 너무 많이하지 않습니다. 나는이 이미 여기에 사용되는 "직교 제품"의 의미를 이해하는 사람을위한 완벽한 표현이다 기대합니다. 하지 않는 사람의 경우, 약간의 원형 소리. "아, 네, 잘 물론 product4입니다 4 중얼-중얼의 중얼 제품입니다."

내가 올바른 기능적인 언어의 관점을 이해하는 데 도움이 바랍니다. "직교 제품"의 의미는 여기에 무엇을 사용하고 있습니까? 제품 클래스 ' "투사"회원들은 무엇을 표시 하는가?

해결법

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

    1."요소 두 세트의 멤버 구성 요소의 모든 가능한 쌍들의 집합."

    "요소 두 세트의 멤버 구성 요소의 모든 가능한 쌍들의 집합."

    "즉, 데카르트 (X 축에 예를 들면, 포인트) 두 집합 X의 생성물 및 Y는 (예를 들어 Y 축상의 점), X × Y를 나타내고, 그 제 모든 가능한 순서쌍 집합이며 구성 요소가 "그 두번째 성분 Y의 구성원 (xy 평면의 예 전체) 인 X의 일원이고

    아마도 더 나은 이해는 그것에서 파생하는 사람들을 알고에 의해 얻을 수있다 :

    기존의 서브 클래스를 직접 : Tuple4

    또는, 그것을 아는 것이 "제품 확장"에 의해, 다른 클래스는 제품 자체를 확장 덕분에, 그것의 사용을 만들 수 있는지 알 수있을 것입니다. 오히려 긴이기 때문에 나는,하지만 여기에 인용되지 않습니다.

    만약 유형 A, B, C 및 D, 다음 product4입니다 [A, B, C, D]를 가지고 어쨌든, 그 인스턴스 그대로 A, B, C 및 D의 직교 제품의 모든 가능한 요소 클래스이다.

    product4입니다은 형질 아니라 클래스이다, 물론 예외입니다. 그냥 네 가지 세트의 직교 제품입니다 클래스에 대한 몇 가지 유용한 방법을 제공합니다.

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

    2.다른 수학에 대한 간 모두가 그래서 나는 단지의 경우 바보 같은 대답을 갈거야! 당신은 기어 박스, 스티어링 휠, 가속기 및 승객의 번호를 가지고 간단한 차 있습니다. 이들은 각각 다를 수 있습니다 스티어링을있는 방법, 발 등 기어 박스, 스티어링, 가속기 등 "바닥에"입니다, 당신입니다 때문에 변수와 각각의 가능한 값의 그것의 자신의 세트를 가지고있는 기어.

    다른 수학에 대한 간 모두가 그래서 나는 단지의 경우 바보 같은 대답을 갈거야! 당신은 기어 박스, 스티어링 휠, 가속기 및 승객의 번호를 가지고 간단한 차 있습니다. 이들은 각각 다를 수 있습니다 스티어링을있는 방법, 발 등 기어 박스, 스티어링, 가속기 등 "바닥에"입니다, 당신입니다 때문에 변수와 각각의 가능한 값의 그것의 자신의 세트를 가지고있는 기어.

    이 세트의 각각의 직교 제품은 자동차에서 할 수 기본적으로 모든 가능한 상태입니다 몇 가지 가능한 값은 그래서. :

    (gear,    steer,    accel,     pssngers)
    --------|---------|----------|---------
    (1st,     left,     foot down, none)
    (neutral, straight, off,       the kids)
    

    데카르트 제품의 크기는 물론 각각의 세트의 가능성의 생성물 (승산)된다. 당신 차 (+ + 중성 역방향) 5 기어를 가지고, 따라서 만약, 스티어링 스트레이트 / 오른쪽, 가속기는 온 / 오프 및 최대 4 명의 승객이다 / 방치 후 7 × 3 × 2 × 4, 168 개의 가능한 상태가있다.

    이 마지막 사실은 (그런데 르네 데카르트의 이름을 따서 명명) 데카르트의 제품이 곱셈 기호 X를 가지고 있다는 이유

  3. ==============================

    3.이 스레드에서 :

    이 스레드에서 :

    투사는 제품에 의해 참조되는 'N'클래스의 인스턴스를 얻을 수 있습니다.

  4. ==============================

    4.데카르트 제품은 세트 제품입니다. 감안 세트 A와 B는 A를 ( "A 단면 B ') 중, X는이고 Y는 유사 유형을 정의 할 수있다 B. 카티 생성물되도록 모든 투플 (x, y)의 집합 인를 B를 X : 소정 타입 A 및 B는 B는 X가 A 형이다 튜플의 유형 (X, Y)는 X 및 Y 형이다 B.

    데카르트 제품은 세트 제품입니다. 감안 세트 A와 B는 A를 ( "A 단면 B ') 중, X는이고 Y는 유사 유형을 정의 할 수있다 B. 카티 생성물되도록 모든 투플 (x, y)의 집합 인를 B를 X : 소정 타입 A 및 B는 B는 X가 A 형이다 튜플의 유형 (X, Y)는 X 및 Y 형이다 B.

    product4입니다 튜플의 유형 (W, X, Y, Z)가되도록, X, Y, Z 성분 승 어디.

  5. ==============================

    5.나는 제품은 그냥 그랬던 것처럼, 멤버 반복자처럼 작동을 위해 누군가가 혼란을 느낄 것 같아요.

    나는 제품은 그냥 그랬던 것처럼, 멤버 반복자처럼 작동을 위해 누군가가 혼란을 느낄 것 같아요.

    사실, 2019 모두가 데카르트 제품이 무엇인지 알고 생각. 그러나 여기서 데카르트 제품은 튜플에? 우리는 우리가 {A, 1}를 얻을 것이다 {A, B, C}와 {1,2,3} 만약 내가 알고, {A, 2} ... {C, 3}. 우리가 Tuple2 건너 때 (a는 1) 우리는 단지 (A, 1), 어떻게 할 수있는 하나 개의 오브젝트 제품이 있습니까?

    그래서 선언으로 제품을 구현의 치료 수업을 할 수 있습니다. 클래스 A (문자열, INT, 더블) implentment 제품 3, 우리는 (문자열, INT, 더블)의 직교 제품의 결과로 클래스를 취급하는 경우, 그래서 당신은 당신이 지금 _1 _2 _3method 사용할 수 있습니다 알고 있습니다.

  6. from https://stackoverflow.com/questions/1301907/how-should-i-think-about-scalas-product-classes by cc-by-sa and MIT license