Cómo crear un código de rubí para dibujar un rectángulo

En Ruby, se puede crear un rectángulo en la pantalla utilizando el arte ASCII. Si se va a dibujar un rectángulo en el papel que se rellena con un patrón, lo que se necesita para hacer? En primer lugar, es posible dibujar el contorno del rectángulo, y entonces es posible que el color en el interior.

Pero para su programa en Ruby, tendrá que dibujar la forma en lugar de la parte superior a la parte inferior, una línea a la vez. ¿Cómo describiría cómo hacerlo? Me gusta esto:

  1. Dibujar la parte superior del rectángulo utilizando el patrón exterior (o borde) para la primera línea.

  2. Para cada una de las líneas que forman los lados y en el interior del rectángulo, dibujar el borde izquierdo, todo el medio, y luego el borde derecho.

    Repita este paso hasta que tenga que dibujar la parte inferior del rectángulo.

  3. Dibujar la parte inferior del rectángulo exactamente como se ha dibujado el borde superior.

Este es un algoritmo para la elaboración de la línea rectángulos por la línea de arriba a abajo.

Un algoritmo es simplemente una secuencia de pasos que debe seguir para llevar a cabo alguna tarea o el cálculo. En este caso, usted ha escrito a cabo la secuencia para dibujar un rectángulo mediante el escaneo a través de arriba a abajo, línea por línea.

La versión de Ruby de su algoritmo lee mucho a la versión en Inglés:

  1. La creación de dos variables que hacen que sea más fácil ver lo que está pasando. Vamos a usar la opción del usuario para el tamaño de forma que tanto la altura y la anchura de la figura que va a dibujar:

    height = shape_sizewidth = shape_size
  2. Usted vaya a dibujar la línea rectángulo por línea, por lo que establecer un bucle que se repetirá el código para cada fila (así, eso significa que necesita su código de dibujo para funcionar altura veces):

    1.upto (altura) hacer | fila | # código de dibujo va hereend

    Los bucles son una poderosa manera de repetir código cierto número de veces (o incluso un número infinito de veces)! Ruby tiene varias maneras de programar un bucle. los hasta método es una manera fácil de contar desde un número de partida a un número final. Para el rectángulo, que desea contar a partir de 1 para la primera fila y terminando el recuento cuando se llega al número representado por altura.

  3. Ahora, para el algoritmo funcione, es necesario comprobar para ver qué fila que desea que el programa para imprimir. Tiene tres casos: la primera fila, las filas del medio, y la última fila. Añadir en el caso de la primera fila en el medio de su bucle:

    Si la fila == 1puts outside_letter * widthend

    Si la variable de fila es igual a uno, el programa utilizará pone imprimir su elección para el outside_letter un número de veces igual al anchura.

    Tu usas Si declaraciones cuando se desee para ver si alguna condición es cierto o falso. El símbolo == en Ruby hace la pregunta: “¿Es la cosa en el lado izquierdo igual a la cosa en el lado derecho de la == símbolo?”Si es así, entonces Ruby ejecutar las líneas de código hasta que sea otra condición o una fin palabra clave.

  4. A continuación, agregue en una comprobación para ver si esta es la última fila. los elsif palabra clave comienza otra prueba de condición, y lo coloca justo antes de la anterior fin palabra clave. Eso no es un error de ortografía, por cierto. Rubí solo tiene una manera divertida de decir “else if”! Todo esto se verá así:

    Si la fila == 1puts outside_letter * widthelsif fila == heightputs outside_letter * widthend
  5. Por último, es necesario controlar la presentación de todas las filas de la media, por lo que añadir una última condición usando Ruby más palabra clave. Este código va a la derecha antes de la fin palabra clave. Aquí está todo el bloque de Ruby:

    Video: Trazar un rectángulo conociendo uno de sus lados y la diagonal

    si fila == 1puts outside_letter * widthelsif fila == heightputs outside_letter * widthelsemiddle = inside_letter * (anchura - 2) pone "# {Outside_letter} # {media} {#} outside_letter"fin

    El caso medio se ve muy complicado. ¿Qué está haciendo? Pues bien, de acuerdo a su algoritmo, que necesita para dibujar los bordes derecho e izquierdo y todo en el medio.

    La variable medio es el cálculo de la cadena que representa el centro del rectángulo. Si nos quitan uno para el carácter extremo izquierdo y otro para el personaje borde derecho, el ancho final del medio es el ancho completo menos dos caracteres.

    El final pone instrucción utiliza el procesamiento de cadenas para crear la fila combinado.

  6. Ejecutar su programa y ver si tiene algún error. Qué se obtiene algo así como lo que se muestra aquí? Si aparece un error que dice algo así como comparación de Fixnum con la cadena falló, esto significa Rubí tenía dificultades para usar el valor en el interior tamaño de la forma como un número.

    ISN rubí`t sure how to use strings for numbers.
    Ruby es no está seguro de cómo utilizar cadenas para los números.

    ¿Por qué es que un problema si usted escribe en un número? Bien, consigue lee en su entrada, pero se lee todos los caracteres que escribe como una cadena. Tienes que ayudar a Rubí convertir la cadena en un número.

  7. Cambie las dos líneas en las que se establece la altura y anchura las variables a utilizar el to_i método, lo que significa convertir el contenido de esta variable en un número entero (número):

    height = shape_size.to_iwidth = shape_size.to_i

    Ejecute el código de nuevo. ¡Éxito!

    Video: Consejo AutoCad: Dibujar cuadrado con las medidas que queramos

    Es este el mundo`s most exciting rectangle?
    Este rectángulo es más excitante del mundo?
Artículos Relacionados