개인 재정 루비에서 직사각형을 그리기위한 코드를 작성하는 방법 - 루미의

루비에서 직사각형을 그리기위한 코드를 작성하는 방법 - 루미의

비디오: [프로세싱] 파리 에펠탑 코딩그림_사각형 그리기(Drawing the Eiffel Tower on Processing code) 2024

비디오: [프로세싱] 파리 에펠탑 코딩그림_사각형 그리기(Drawing the Eiffel Tower on Processing code) 2024
Anonim

루비에서는 ASCII 아트를 사용하여 화면에 직사각형을 만들 수 있습니다. 패턴으로 채워진 종이에 직사각형을 그리려면 어떻게해야할까요? 먼저 사각형의 외곽선을 그릴 수 있습니다. 그러면 내부를 채색 할 수 있습니다.

하지만 루비에있는 프로그램의 경우, 한 번에 한 줄씩 위에서 아래로 모양을 그리는 것이 좋습니다. 어떻게 그 방법을 설명 하시겠습니까? 이렇게:

  1. 첫 번째 줄의 바깥 쪽 (또는 가장자리) 패턴을 사용하여 사각형의 꼭대기를 그립니다.

  2. 직사각형의 측면과 내부를 구성하는 각 선에 대해 왼쪽 모서리, 중간 모퉁이 및 오른쪽 모서리를 그립니다.

    사각형의 아래쪽을 그릴 때까지이 단계를 반복하십시오.

  3. 꼭지점을 그린 직사각형의 아래쪽을 그립니다.

직사각형을 위에서 아래로 한 줄씩 그리는 알고리즘입니다.

알고리즘 은 작업 또는 계산을 수행하기 위해 수행하는 일련의 단계입니다. 이 경우 시퀀스를 위에서 아래로 한 줄씩 스캔하여 사각형을 그립니다.

알고리즘의 Ruby 버전은 영어 버전과 매우 유사합니다:

  1. 상황을 더 쉽게 볼 수 있도록 두 가지 변수를 설정하십시오.

    height = shape_size width = shape_size
    
  2. 그리기 할 그림의 높이와 너비 모두로 도형 크기에 대한 사용자의 선택을 사용합니다. 각 행에 대해 코드를 반복하는 루프를 설정하십시오 (즉, 높이 번 실행하려면 드로잉 코드가 필요합니다.):

    1. 최대 (높이) 할 | 행 | # 드로잉 코드는 여기에 있습니다.
    

    루프는 코드를 몇 번이나 반복 할 수있는 강력한 방법입니다 (또는 무한 반복 횟수). 루비는 루프를 프로그래밍하는 몇 가지 방법이 있습니다. upto 방법은 시작 번호에서 최종 번호까지 계산하는 쉬운 방법입니다. 직사각형의 경우 첫 번째 행은 1부터 시작하여 높이로 표시된 숫자에 도달하면 계산을 마칩니다.

  3. 알고리즘이 작동하려면 프로그램에서 인쇄 할 행을 확인해야합니다. 첫 번째 행, 중간 행 및 마지막 행의 세 가지 경우가 있습니다. 루프 중간에 첫 번째 행의 경우에 다음을 추가하십시오.

    row == 1 puts outside_letter * width end
    

    행 변수가 1이면 프로그램은 puts를 사용하여 outside_letter 너비와 동일한 횟수.

    조건이 true 또는 false인지 확인하려는 경우 if 문을 사용합니다.루비의 == 기호는 질문에 "왼쪽에있는 것은 == 기호의 오른쪽에있는 것과 같습니까? "그렇다면 Ruby는 다른 조건이나 끝 키워드까지 코드 행을 실행합니다.

  4. 다음으로이 행이 마지막 행인지 확인하기 위해 추가하십시오. elsif 키워드는 다른 조건 테스트를 시작하고 이전 종료 키워드 바로 앞에 배치합니다. 그건 그렇고 철자법 실수는 아닙니다. Ruby에는 "else if"라는 재미있는 방법이 있습니다! 모든 것은 다음과 같이 보일 것입니다:

    만약 row == 1이면 outer_letter를 넣습니다. width elsif row == height puts outer_letter * width end
    
  5. 마지막으로 중간에있는 모든 행의 표시를 처리해야합니다. Ruby의 else 키워드를 사용하여 하나의 마지막 조건을 추가하십시오. 이 코드는 end 키워드 바로 앞에 있습니다. 여기에 루비 블록 전체가 있습니다:

    행 == 1 인 경우 outer_letter * 너비 elsif 행 == 높이 puts outer_letter * 너비 else 중간 = inside_letter * (너비 -2) "# {outside_letter} # {middle} # { outside_letter} "end
    

    중간 케이스는 복잡해 보입니다. 뭐하는거야? 알고리즘에 따르면 왼쪽과 오른쪽 모서리와 모든 것을 중간에 그려야합니다.

    중간 변수는 직사각형의 중심을 나타내는 문자열을 계산합니다. 왼쪽 모서리 문자와 오른쪽 모서리 문자 중 하나를 제거하면 중간의 최종 너비는 전체 너비에서 2 문자를 뺀 것입니다.

    마지막 puts 문은 문자열 처리를 사용하여 결합 된 행을 만듭니다.

  6. 프로그램을 실행하고 오류가 있는지 확인하십시오. 여기에 보이는 것과 비슷한 것을 얻을 수 있습니까? Fixnum과 String 비교가 실패했다는 오류가 발생하면 Ruby가 shape_size 내부의 값을 숫자로 사용하는 데 어려움을 겪었습니다.

    루비는 숫자에 문자열을 사용하는 방법을 모릅니다.

    숫자를 입력하면 왜 문제가됩니까? 자, 입력에서 읽음을 얻지 만 입력 한 모든 문자를 문자열로 읽습니다. 루비가 문자열을 숫자로 변환하는 것을 도와야합니다.

  7. to_i 메서드를 사용하도록 높이 및 너비 변수를 설정하는 두 줄을 변경합니다. 즉,이 변수의 내용을 정수 (숫자)로 변환합니다.

    height = shape_size. to_i width = shape_size. to_i
    

    코드를 다시 실행하십시오. 성공!

    세계에서 가장 흥미로운 직사각형입니까?
루비에서 직사각형을 그리기위한 코드를 작성하는 방법 - 루미의

편집자의 선택

WordPress 링크 목록 구성 방법 - 더미

WordPress 링크 목록 구성 방법 - 더미

두 개 이상의 링크 목록을 원할 경우 워드 프레스 대시 보드. 때로는 Blogroll 제목 아래에 큰 링크 목록이있는 것은 너무 일반적이므로 링크를 추가 표제와 함께 표시하려는 경우가 있습니다. 기본적으로 ...

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

시간을 들여 블로그를 운영하면 WordPress 업 로더로 업로드 한 파일을 쉽게 잊어 버릴 수 있습니다. WordPress 미디어 라이브러리를 사용하면 어떤 파일이 업로드 폴더에 있는지 쉽게 찾을 수 있습니다. 이미 업로드 한 이미지, 비디오 또는 오디오 파일을 찾으려면 ...

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

귀하의 워드 프레스 블로그, 그렇지 않으면 그것을 쓰는 시간이 걸리지 않았을 것입니다. WordPress는 검색 엔진에 친숙한 환경을 조성하여 아카이브, 카테고리 및 페이지를 쉽게 탐색 할 수 있도록 해줍니다. WordPress는이 환경에 깨끗한 코드 기반을 제공하여 쉽게 업데이트 할 수 있습니다.

편집자의 선택

Access 2002에서 사라지는 기록의 수수께끼 - 더미

Access 2002에서 사라지는 기록의 수수께끼 - 더미

바로 거기! "그 문장의 핵심 단어는 동사입니다. 왜냐하면 그것은 그 기록이 지금 존재하지 않는다는 것을 나타 내기 때문입니다. 컴퓨터가 알고 있기 때문에 레코드가 어디로 갔는지 정확히 알 수 없으며 컴퓨터는 이러한 세부 사항에 대해 침묵의 코드를 가지고 있습니다. (규칙의 일부입니다 ...

데이터베이스 디자인 - 더미

데이터베이스 디자인 - 더미

여기에는 데이터베이스 디자인의 다섯 가지 계보가 있습니다. 또는 다른 데이터베이스 프로그램. 잘 설계된 데이터베이스는 데이터를보다 쉽게 ​​유지 관리합니다. 그것이 어디에 있는지, 그것이 나타나는 곳이 아닌 곳에 정보를 저장하십시오. 정보를 저장하는 곳은 정보가 나타나는 위치와 아무 관련이 없습니다. 스프레드 시트에서 원하는 위치에 정보를 입력합니다.

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access Table Analyzer는 가져온 스프레드 시트와 같이 지저분한 플랫 파일 테이블을 모든 반복적 인 데이터와 함께 사용하여 효율적인 관계형 테이블 집합으로 변환합니다. 그러나 속담처럼 약속은 깨진 약속입니다. 플랫 파일이 엄격한 규칙을 따르지 않는 한 ...

편집자의 선택

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

좋은 디자인의 향신료지만, 글꼴에 관해서라면, 현명한 디자이너는 충분히 충분한 지 알고 있습니다. 세 가지 서체를 사용하는 경우 인포 그래픽은 몸값 또는 커뮤니티 뉴스 레터처럼 보이게됩니다.

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

에 대한 전반적인 레이아웃 개념화 귀하의 인포 그래픽이 도움이 될 수 있도록 와이어 프레임에서 작업하지만 필수는 아닙니다. 정보를 수집하고 사용할 차트 및 삽화 유형에 대해 알고 있다면 전반적인 테마 또는 특정 레이아웃에 대한 몇 가지 아이디어가있을 수 있습니다. 표시된 주제 ...

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

귀하의 인포 그래픽에 필요한 그림 유형을 와이어 프레임에 배치하십시오. 정확한 게재 위치는이 단계에서는 중요하지 않지만 전체적인 크기와 각 그림 주위의 거리에 대한 느낌을 받기 시작해야합니다. 자리 표시 자 사용 - 대략적인 스케치 또는 더미 ...