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

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

비디오: [프로세싱] 파리 에펠탑 코딩그림_사각형 그리기(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
    

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

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

편집자의 선택

관심있는 존재를 유지할 시간을 찾음 - 인형

관심있는 존재를 유지할 시간을 찾음 - 인형

Pinterest는 습관성을 가질 수 있습니다. . 당신이 세상에 항상 있다면 그것은 위대 할 수 있습니다. 그렇지 않으면 Pinterest를 직장, 삶, 수면 및 기타 소셜 네트워크에 참여시키지 않고도 계속 활동적으로 참여할 수 있습니다. 몇 가지 요령이 있습니다 : Have ...

Pinterest에서 가격 태그를 추가하는 방법 - 인형

Pinterest에서 가격 태그를 추가하는 방법 - 인형

Pinterest는 아름답게 간단합니다. 핀에 대한 설명을 작성할 때 $ 1 또는 $ 3과 같이 가격이 뒤 따르는 달러 기호를 포함하십시오. 25. 핀의 설명에 가격이 추가되면 Pinterest는 핀의 왼쪽 상단 구석에 가격표 리본을 표시합니다. ...

Pinterest가 브랜드 판매 촉진 방법 -

Pinterest가 브랜드 판매 촉진 방법 -

Pinterest는 브랜드가 판매 할 수있는 독특한 기회를 제공합니다 소셜 네트워크가 너무 많아서 제품 및 가격을 표시 할 수 없으므로 제품을 선택해야합니다. 귀하의 브랜드가 제품이든 서비스이든 관계없이 Pinterest 보드를 카탈로그 또는 선물 가이드로 사용하여 피들러가 귀하의 제품을 검색하고 구입할 수 있습니다. 모든 것을 ...

편집자의 선택

인터랙티브 루비에서 숫자 입력하기 - 인형

인터랙티브 루비에서 숫자 입력하기 - 인형

터미널 프로그램 (Mac) 또는 Ruby 바로 가기가있는 콘솔 (Windows). 그것이 실행 중일 때, 그 밖의 모든 것은 동일합니다. 터미널이라는 용어는 Mac 또는 Windows에서 터미널 또는 콘솔 프로그램을 의미합니다. 대화 형 루비는 IRB 또는 irb로 알려져 있습니다. ...

RibbonX 컨트롤 - 더미

RibbonX 컨트롤 - 더미

다음 테이블은 RibbonX의 많은 컨트롤과 그 기능을 실행합니다. 목록에는 가장 일반적인 콜백 및 속성도 포함되어 있지만 컨트롤이 지원하는 모든 콜백 또는 속성이 아닙니다. 컨트롤 설명 일반 콜백 공통 속성 상자 그룹 내에서 컨트롤을 그룹화합니다. 모든 컨트롤을 배치 할 수 있습니다.

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

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

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

편집자의 선택

시각 효과로 스크래치 스프라이트 수정하기 - 더미

시각 효과로 스크래치 스프라이트 수정하기 - 더미

콜라주를 스크래치로 만들 때, 전경의 스프라이트가 조금 투명 해져서 그 뒤에있는 이미지의 일부를 볼 수 있습니다. 사진과 다른 그래픽을 혼합하는이 방법은 스크래치에서 프로그래밍하는 데 약간의 시간이 걸리지 만 결과는 그만한 가치가 있습니다! 스프라이트를 투명하게 만듭니다. 지금은 ...

코드의 HTML 속성 - 더미

코드의 HTML 속성 - 더미

속성은 요소의 동작을 수정하거나 추가 정보를 지정하는 추가 방법을 제공합니다. 일반적으로 항상 그런 것은 아니지만 따옴표로 묶인 값과 동일한 속성을 설정합니다. USA New York City title 속성은 권고를 제공합니다 ...

HTML 요소 식별 - 더미

HTML 요소 식별 - 더미

HTML은 요소라는 특수 텍스트 키워드를 사용하여 웹 사이트를 구성하고 스타일을 지정합니다. 브라우저는 요소를 인식하고 다음 세 가지 조건이 존재하는 경우 그 효과를 적용합니다. 요소는 특수한 의미를 지닌 문자, 단어 또는 구입니다. 예를 들어, h1은 헤더 효과를 적용하기 위해 브라우저에서 인식하는 요소입니다.