비디오: A Show of Scrutiny | Critical Role | Campaign 2, Episode 2 2024
루비에서 삼각형을 그리는 방법을 만들 수 있습니다. 먼저 이것이 어떻게 작동하는지 생각해보십시오. 그릴 삼각형은 이등변 삼각형처럼 보일 것입니다.이 삼각형은 두 변의 크기가 같고 밑이 약간 작게 나타납니다.
각 행의 서식을 쉽게 지정할 수있는 사각형과 달리 삼각형의 경우 각 행을 다르게 표시해야합니다. 첫 번째 행은 삼각형의 꼭대기입니다 (뾰족한 끝). 마지막 행은 삼각형의 밑 부분이되며 사용자가 지정한 너비가됩니다.
여기서 코드가 무엇을하는지 알아낼 수 있는지 확인하십시오.
-
삼각형이라는 새로운 메서드를 시작합니다:
# 여기에는 사각형의 끝이 있습니다. def 삼각형 (height, outside_letter, inside_letter) # 삼각형의 코드는 여기에 끝납니다.
이 메서드의 높이와 폭 모두에 height 변수를 사용합니다.
-
높이 시간을 반복하는 루프를 만듭니다. 이 코드를 삼각형 메서드 내부에 넣습니다.
1. 최대 (높이) 할 | 행 | # 드로잉 코드가 다음 단계로 넘어갑니다.
-
삼각형의 경우 드로잉 할 전체 너비를 차지하지 않는 행마다 공백 (빈 영역)을 그려야합니다. 각 행을 그릴 때 공백을 덜 그리게됩니다. 이 행을 루프의 첫 번째 행으로 추가하십시오.
print "* (height-row)
여기서 수학은 행 번호가 커질수록 더 적은 수의 공백을 계산합니다 (기억하십시오. 상단에 행 1이 있고 하단에 높이가 같은 행이 있습니다.)
-
다음으로 첫 번째 행에 대한 대소 문자를 처리해야합니다. 삼각형: 행 == 1 일 경우 "# {outside_letter * 2}"끝내기
단계 4의 코드는 3 단계 직후에옵니다.
elsif 조건을 추가하여 마지막 행의 경우를 처리합니다.
-
만약 행 == 1이면 "# {outside_letter * 2}"elsif 행 == 높이 puts outside_letter * 높이 * 2 끝
이제 모든 중간 행을 다루는 약간 더 복잡한 경우의 코드를 추가하십시오. else 조건을 사용하면 else 절을 사용합니다. 여기에서 전체 조건을 확인하십시오:
-
행 == 1은 "# {outside_letter * 2}"를 elsif 행 == 높이 puts outside_letter * height * 2 else middle = inside_letter * (행 -2) 인쇄 "# {outside_letter} # {중간} # {ins } {end_letter} "{inside_letter} # {middle} # {outer_letter}"end
코드는 좀 이상해 보입니다. 왜 print와 puts 문장 둘 다 있습니까?
이제 삼각형을 표시 할 차례입니다.
-
triangle (height, outside_letter, inside_letter)
프로그램 파일을 저장하고 터미널로 전환 한 다음 프로그램을 실행합니다.
-
사용 된 예제 코드는 삼각형 메서드보다 먼저 사각형 메서드를 포함하므로 삼각형에 균형 잡힌 사각형이 표시됩니다.