루비의 메소드 이름과 같은 이름으로 변수 이름을 지정하지 않으려면 어떻게해야합니까?

마이젤

나는 내 방법을 짧게 유지하려고 노력해 왔으며 그렇게하면 다음과 같은 줄로 끝납니다.

processor = processor(arg1, arg2)

변수가 메소드와 동일한 이름을 갖는 것이 합리적입니다. 그래서 저는 self.제가이 방법을 사용하고 있음을이 한 줄에서 명확히하기 위해 사용할 수 있다고 들었습니다 .하지만 여전히 코드를 읽는 사람은 말할 것도없고 인터프리터에게 문제를 일으킬 것 같습니다. 그러나 접두사 메서드 get_도 이상하게 느껴집니다. 어떤 아이디어?

옴니 크론

구문 상으로는 당신이하는 일에 아무런 문제가 없지만, 코드를 읽기에 약간 혼란스럽게 만들 가능성이 있습니다. @processor지역 변수 대신 인스턴스 변수 사용하여 processor변수와 메서드의 차이를 더 명확하게 만들 수 있지만 사용하는 위치 self에 따라 로컬 범위뿐만 아니라 전체 에서 사용할 수 있으므로 부작용이있을 수 있습니다. .

또는 지역 변수가 가독성 측면에서 많은 가치를 추가하지 않기 때문에 반환 값이 필요한 곳에서 직접 메서드를 호출 할 수 있습니다.

귀하의 버전 :

processor = processor(:arg1, :arg2)
# do some stuff
do_something_else_with(processor)

반환 값을 직접 사용 :

do_something_else_with(processor(:arg1, :arg2))

또한 메서드에 arity 0 (즉, 인수가 없음)이 있으면 문제가 발생할 수 있습니다. 말했듯이 self메서드 호출에 빈 괄호 (루비와 매우 유사)를 사용 하거나 추가해야합니다.

def processor
 return 'something'
end

processor = processor
#=> nil

processor
#=> nil 

processor = processor()
#=> 'something'

processor = self.processor
#=> 'something'

궁극적으로 처음에 고유 한 이름을 사용하는 것이 귀하의 관심사입니다. 쉽지는 않지만 시간을 보낼 가치가 있습니다. 현명한 사람 "컴퓨터 과학에는 캐시 무효화, 이름 지정 및 단일 오류라는 두 가지 어려운 점이 있습니다."라고 트윗했습니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

변수의 값을 동적 변수 이름으로 사용하려면 어떻게해야합니까?

분류에서Dev

Typescript에서 형식화 된 변수를 같은 이름의 형식으로 사용하려면 어떻게해야합니까?

분류에서Dev

목록이 비어 있지 않은 경우 연결된 목록 오름차순으로 요소를 추가하려면 어떻게해야합니까?

분류에서Dev

같은 이름으로 지역 변수를 선언하면 함수가 정의되지 않습니다.

분류에서Dev

angularJS의 이름을 바꾸거나 선택적으로로드하려면 어떻게해야합니까?

분류에서Dev

위치를 변경하지 않고 C : / "폴더 이름"과 같은 폴더를 D : / "폴더 이름"으로 이동하려면 어떻게해야합니까? (연결)

분류에서Dev

메가 픽셀과 이름으로 목록을 정렬하려면 어떻게해야합니까?

분류에서Dev

명령 줄을 사용하여 많은 파일의 이름을 일괄 적으로 변경하려면 어떻게해야합니까?

분류에서Dev

Word 문서에있는 수천 개의 JPEG 이미지 : 같은 방식으로 서식을 지정하려면 어떻게해야합니까?

분류에서Dev

앞에있는 다른 너비 아이콘으로 인해 정렬되지 않은 부트 스트랩 드롭 다운 목록의 요소를 수직으로 정렬하려면 어떻게해야합니까?

분류에서Dev

React에서 반복으로 생성 된 한 요소의 클래스 이름을 변경하려면 어떻게해야합니까?

분류에서Dev

Linux에서 파일 이름 집합의 이름을 일괄 적으로 변경하려면 어떻게해야합니까?

분류에서Dev

해당 폴더의 파일 이름과 같은 이름으로 폴더를 만들려면 어떻게해야합니까?

분류에서Dev

하나 이상의 변수가 0보다 작은 경우 if 문을 실행하지 않고 else if 문으로 이동하려면 어떻게해야합니까?

분류에서Dev

csv에서 중복 성적을 읽은 다음 성적 평균과 각 사람의 이름으로 정렬하려면 어떻게해야합니까?

분류에서Dev

내 명령의 이름과 접두사 뒤에 모든 텍스트를 비동기 정의의 rest_of_message와 같은 변수에 넣으려면 어떻게해야합니까?

분류에서Dev

Firefox 애드온의 이름을 읽을 수있는 이름으로 바꾸려면 어떻게합니까?

분류에서Dev

2 개의 이미지 (같은 높이 다른 너비)를 비례 적으로 축소하려면 어떻게해야합니까?

분류에서Dev

키 누름으로 인해 스크롤 막대 컨트롤의 값이 변경되지 않도록하려면 어떻게해야합니까?

분류에서Dev

명령 줄을 통해 여러 zip 아카이브 내의 특정 파일 이름을 일괄 적으로 변경하려면 어떻게해야합니까?

분류에서Dev

같은 이름의 여러 속성을 개체에 추가하려면 어떻게해야합니까?

분류에서Dev

Babel을 차단하여 정의되지 않은 것으로 변경하려면 어떻게해야합니까?

분류에서Dev

Windows 7에서 기존 이름과 동일한 이름으로 새 도메인 프로필을 만들도록하려면 어떻게해야합니까?

분류에서Dev

하위 장 양식이 필요한 Java 메소드의 이름을 어떻게 지정해야합니까?

분류에서Dev

애니메이션으로 그림의 치수를 변경하려면 어떻게해야합니까?

분류에서Dev

이 그리드 레이아웃을 항상 같은 크기의 부트 스트랩 3으로 유지하려면 어떻게해야합니까?

분류에서Dev

pivot_wider ()가 이름의 요소 수준을 삭제하지 않도록하려면 어떻게해야합니까?

분류에서Dev

AWS CDK-구성 ID에 토큰을 사용할 수 없음-다른 구성의 이름을 기반으로 구성의 이름을 동적으로 지정하려면 어떻게해야합니까?

분류에서Dev

연락처, 이메일, 이름 등과 같은 현재 로그인 된 사용자 데이터를 검색하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    변수의 값을 동적 변수 이름으로 사용하려면 어떻게해야합니까?

  2. 2

    Typescript에서 형식화 된 변수를 같은 이름의 형식으로 사용하려면 어떻게해야합니까?

  3. 3

    목록이 비어 있지 않은 경우 연결된 목록 오름차순으로 요소를 추가하려면 어떻게해야합니까?

  4. 4

    같은 이름으로 지역 변수를 선언하면 함수가 정의되지 않습니다.

  5. 5

    angularJS의 이름을 바꾸거나 선택적으로로드하려면 어떻게해야합니까?

  6. 6

    위치를 변경하지 않고 C : / "폴더 이름"과 같은 폴더를 D : / "폴더 이름"으로 이동하려면 어떻게해야합니까? (연결)

  7. 7

    메가 픽셀과 이름으로 목록을 정렬하려면 어떻게해야합니까?

  8. 8

    명령 줄을 사용하여 많은 파일의 이름을 일괄 적으로 변경하려면 어떻게해야합니까?

  9. 9

    Word 문서에있는 수천 개의 JPEG 이미지 : 같은 방식으로 서식을 지정하려면 어떻게해야합니까?

  10. 10

    앞에있는 다른 너비 아이콘으로 인해 정렬되지 않은 부트 스트랩 드롭 다운 목록의 요소를 수직으로 정렬하려면 어떻게해야합니까?

  11. 11

    React에서 반복으로 생성 된 한 요소의 클래스 이름을 변경하려면 어떻게해야합니까?

  12. 12

    Linux에서 파일 이름 집합의 이름을 일괄 적으로 변경하려면 어떻게해야합니까?

  13. 13

    해당 폴더의 파일 이름과 같은 이름으로 폴더를 만들려면 어떻게해야합니까?

  14. 14

    하나 이상의 변수가 0보다 작은 경우 if 문을 실행하지 않고 else if 문으로 이동하려면 어떻게해야합니까?

  15. 15

    csv에서 중복 성적을 읽은 다음 성적 평균과 각 사람의 이름으로 정렬하려면 어떻게해야합니까?

  16. 16

    내 명령의 이름과 접두사 뒤에 모든 텍스트를 비동기 정의의 rest_of_message와 같은 변수에 넣으려면 어떻게해야합니까?

  17. 17

    Firefox 애드온의 이름을 읽을 수있는 이름으로 바꾸려면 어떻게합니까?

  18. 18

    2 개의 이미지 (같은 높이 다른 너비)를 비례 적으로 축소하려면 어떻게해야합니까?

  19. 19

    키 누름으로 인해 스크롤 막대 컨트롤의 값이 변경되지 않도록하려면 어떻게해야합니까?

  20. 20

    명령 줄을 통해 여러 zip 아카이브 내의 특정 파일 이름을 일괄 적으로 변경하려면 어떻게해야합니까?

  21. 21

    같은 이름의 여러 속성을 개체에 추가하려면 어떻게해야합니까?

  22. 22

    Babel을 차단하여 정의되지 않은 것으로 변경하려면 어떻게해야합니까?

  23. 23

    Windows 7에서 기존 이름과 동일한 이름으로 새 도메인 프로필을 만들도록하려면 어떻게해야합니까?

  24. 24

    하위 장 양식이 필요한 Java 메소드의 이름을 어떻게 지정해야합니까?

  25. 25

    애니메이션으로 그림의 치수를 변경하려면 어떻게해야합니까?

  26. 26

    이 그리드 레이아웃을 항상 같은 크기의 부트 스트랩 3으로 유지하려면 어떻게해야합니까?

  27. 27

    pivot_wider ()가 이름의 요소 수준을 삭제하지 않도록하려면 어떻게해야합니까?

  28. 28

    AWS CDK-구성 ID에 토큰을 사용할 수 없음-다른 구성의 이름을 기반으로 구성의 이름을 동적으로 지정하려면 어떻게해야합니까?

  29. 29

    연락처, 이메일, 이름 등과 같은 현재 로그인 된 사용자 데이터를 검색하려면 어떻게해야합니까?

뜨겁다태그

보관