2009-08-17 3 views
4

나는 간단한 Ruby on Rails 플러그인을 만들고 있는데 Set 클래스 사용을 고려 중입니다. Set 클래스가 다른 사람들의 코드에서 너무 자주 사용되는 것을 보지 못합니다.Ruby에서 세트 사용하기

사람들이 세트가 아닌 Array (서브 클래스)를 사용하는 이유가 있습니까? 한 세트를 사용하면 어떤 사람들에게는 여러 가지 문제가 생길 수 있습니까?

답변

8

Set은 표준 라이브러리의 일부이므로 종속성 문제가 발생하지 않아야합니다. 문제를 해결하는 가장 깨끗한 방법이라면 문제를 해결하십시오.

사용에 관한

나는 두 가지 이유 아마 있다고 생각 (또는 그 부족) : 세트 해결하는 가장 좋은 방법 때

  • 프로그래머가 실현되지 라이브러리의 인식되지 않는

    • 프로그래머는
    • 프로그래머는 세트에 대해 아무 것도 모르고 기억하지 않습니다.

    세 가지 주요 이유를 확인하십시오.

  • +0

    세트가 항상 사용할 수 있다고 생각하십니까? 나는 표준 라이브러리가 얼마나 '표준'인지 알지 못하며 어느 정도 호스트에 항상 의존 할 수 있는지에 대해 잘 알지 못합니다. – avdgaag

    +3

    Ruby의 표준 라이브러리에 포함되어 있습니다. 기본 문서를 사용하려는 컴퓨터에서'ri set'을 눌러 기본 문서를 얻을 수 있습니다. 본질적으로 루비에 접근 할 수 있다면'Set' 라이브러리 – Pinochle

    0

    내가 여기서 읽은 것으로부터 이해할 수있는 방법은 Set이 가능성있는 수학적 세트입니다. 순서는 중요하지 않으며 보존되지 않습니다.

    수학을하지 않는 한 대부분의 프로그래밍 응용 프로그램에서는 일반적으로 주문을 보존하기를 원하기 때문에 사용이 제한적입니다.

    +0

    개체의 태그 모음을보고 있습니다. 태그는 고유하며 순서는 부적합합니다. 잘 맞는 것 같군, 안 그래? – avdgaag

    +1

    실제로, 그것은 잘 맞습니다. 마지막 단락에서 주어진 나쁜 조언을 무시하십시오. – Pinochle

    +0

    나는 쓸모가 없다고 말하지 않았고, 많은 프로그래밍 응용 프로그램들이 명령을 필요로한다. 입에 말을하지 마십시오. –

    2

    루비 배열은 매우 유연합니다. 예를 들어 집합, 스택 또는 대기열과 같은 위협을 허용하는 많은 방법이 있습니다.

    +0

    에 접근 할 수 있습니다. 루비 프로그래머가이 클래스를 사용하지 않을 가능성이 높기 때문입니다. 루비의 배열은 보통 충분히 가능합니다. – Allyn

    +1

    그러나이 경우처럼 중복이 필요하지 않으면 Set 클래스를 사용하는 것이 더 합리적이지 않습니까? 왜 바퀴와 서브 클래스 배열을 다시 고안하고, 중복을 방지하기 위해 많은 로직을 추가할까요? 이것은 수사학적인 질문이 아닙니다. 알고 싶습니다. 그것이 문제의 핵심입니다. – avdgaag