Aumentar y Ampliar son las funciones necesarias para permitir a los clientes colocar elementos de diferentes anchos uno encima de otro, o colocar elementos de diferentes alturas uno al lado del otro. Estas funciones toman un ancho o un alto y devuelven un elemento que tiene el mismo ancho o alto respectivamente.
Por ejemplo, evaluar la siguiente expresión no funcionaría correctamente, porque la segunda línea del elemento combinado es más larga que la primera:
new ArrayElement(Array("geeks")) above new ArrayElement(Array("forgeeks"))
Del mismo modo, evaluar la siguiente expresión tampoco funcionaría correctamente, porque el primer ArrayElement tiene una altura de dos y el segundo una altura de solo uno:
new ArrayElement(Array("yes", "no")) beside new ArrayElement(Array("yes"))
El fragmento de código a continuación contiene una función privada widen , que toma un ancho y devuelve un elemento de ese ancho. El resultado contiene el contenido de este elemento centrado y acolchado a la izquierda y a la derecha con los espacios necesarios para lograr el ancho requerido. Del mismo modo, contiene otra función privada heighten , que realiza la misma función en la dirección vertical. El método widen es invocado por arriba para asegurar que los Elementos colocados uno encima del otro tengan el mismo ancho. De manera similar, side invoca el método de altura para garantizar que los elementos colocados uno al lado del otro tengan la misma altura.
Ejemplo:
// Widen function def widen(w: Int): Element = // if w is less than or equal to the width of the Element // then do nothing if (w <= width) this else{ // if w is greater than the width of the Element // then add padding of spaces // half padding on the left val left = elem(' ', (w - width) / 2, height) // half padding on the right var right = elem(' ', w - width - left.width, height) left beside this beside right } // Heighten function def heighten(h: Int): Element = // if h is less than or equal to the height of the Element // then do nothing if (h <= height) this else{ // if h is greater than the height of the Element // then add padding of spaces // half padding on the top val top = elem(' ', width, (h - height) / 2) // half padding at the bottom var bot = elem(' ', width, h - height - top.height) top above this above bot }
Publicación traducida automáticamente
Artículo escrito por muskan_garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA