Como criar uma mensagem grande olá em ruby
Veja como criar algumas letras super-dimensionados para imprimir uma mensagem grande “Olá” em Ruby. Você estará construindo cada letra de uma combinação de cordas que, quando impresso, formam as formas de uma grande letra.
Conteúdo
Criando a letra H
Comece por criar as partes de cordas para o grande letra H:
Criar o primeiro h1 variável. Desta vez, use nove caracteres para o tamanho total da cadeia. Nesta etapa, haverá sete espaços entre os dois H de:
2.2.2: 015 gt; h1 = "H H"= Gt; "H H"
criar o h2 e h3 variáveis, que são idênticos para o Passo 1:
2.2.2: 017 gt; h2 = "H H"= Gt; "H H"2.2.2: 018 gt; h3 = "H H"= Gt; "H H"
Verifique se qualquer um dos seus variáveis são do tamanho certo, usando o objeto de cadeia comprimento método para imprimir seu número de caracteres:
2.2.2: 019 gt; h3.length = gt; 9
Criar a variável h4, que é o meio da letra H:
2.2.2: 020 gt; h4 = "HHHHHHHHH"= Gt; "HHHHHHHHH"
Você notou que você repetiu-se muito para h2 e h3? A letra H é interessante porque as partes superior e inferior da carta (pelo menos para a versão de capital que estamos usando) é o mesmo.
Os programadores dizem que as duas partes da carta são simétrico. Você pode usar o fato de que a parte superior e inferior são os mesmos para salvar algum trabalho.
Crio h5 atribuindo-lhe o valor de h1, porque eles têm a mesma aparência:
2.2.2: 021 gt; h5 = H1 = gt; "H H"
Repetir o passo 5 para variáveis h6 e H7:
2.2.2: 022 gt; h6 = H1 = gt; "H H"2.2.2: 023 gt; h7 = H1 = gt; "H H"
Coloque todas as partes da carta em uma matriz de armazenamento e testá-lo. Use a variável chamada h para manter a matriz:
Video: Biollo / Olha pra mim ♥
2.2.2: 024 gt; h = [H1, H2, H3, H4, H5, H6, H7] = gt; ["H H", "H H", "H H", "HHHHHHHHH", "H H", "H H", "H H"] 2.2.2: 025 gt; coloca hH HH HH HH HH HHHHHHHHHHH H = gt; nada
Criando a letra E
Em seguida é a letra E. Você vai usar as mesmas técnicas gerais que você apenas utilizados para a letra H.
Criar o primeiro e1 variável. Use nove E caracteres para o tamanho total da cadeia:
2.2.2: 026 gt; e1 = "eeeeeeeee"= Gt; "eeeeeeeee"
Criar a próxima variável, e2. Este é um pouco complicado, porque para a parte vertical da letra E, você precisa ter certeza de que você conta para tanto a parte visível da carta e o espaço em branco:
2.2.2: 027 gt; e2 = "E"= Gt; "E"
A letra E é muito repetitivo e usa uma ou outra das duas partes que você já criou. Usando a técnica de economia de tempo que você aprendeu para a letra anterior, fazer a e3 variável o mesmo que e2:
Video: Руби: том 4, эпизод 8 - Приоритетные беседы (Русские субтитры)
2.2.2: 028 gt; E3 = e2 = gt; "E"
A quarta variável, e4, irá armazenar a parte horizontal meio da carta. Para este projeto, torná-lo o mesmo que a parte de cima:
2.2.2: 029 gt; e4 = e1 = gt; "eeeeeeeee"
Tempo para alguns mais espaço em branco, assim que as próximas duas variáveis armazenar o mesmo valor e2:
2.2.2: 030 gt; e5 = e2 = gt; "E"2.2.2: 031 gt; e6 e2 = = gt; "E"
Agora, crie e7 para segurar o fundo da carta:
2.2.2: 032 gt; E7 = e1 = gt; "eeeeeeeee"
Armazenar as variáveis separadas em uma matriz e atribuir isso à variável e. Testá-lo para garantir que ele parece certo:
2.2.2: 034 gt; e = [E1, E2, E3, E4, E5, E6, E7] = gt; ["eeeeeeeee", "E", "E", "eeeeeeeee", "E", "E", "eeeeeeeee"] 2.2.2: 035 gt; coloca eEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE = gt; nada
Criando a letra L
A letra L é ainda mais fácil, porque é realmente só feita de duas peças únicas.
Criar a primeira variável L1 (Que é a letra L minúscula e do numeral para um):
2.2.2: 036 gt; L1 = "eu"= Gt; "eu"
Quase toda a letra L é composta do mesmo padrão como o que você armazenados em L1, assim que você vai reutilizar essa variável quando você armazená-lo em uma matriz. Em vez disso, avance para o sétimo pedaço da forma e criar variável l7:
2.2.2: 037 gt; l7 = "lllllllll"= Gt; "lllllllll"
Agora, criar o eu matriz, repetindo o L1 variáveis seis vezes. Mais uma vez, você acaba economizando um monte de digitação!
2.2.2: 038 gt; l = [L1, L1, L1, L1, L1, L1, L7] = gt; ["eu", "eu", "eu", "eu", "eu", "eu", "lllllllll"]
Teste a carta para se certificar que tudo está formatado corretamente:
2.2.2: 039 gt; coloca lLLLLLLLLLLLLLLL = gt; nada
Criando a letra O
A última carta matriz que você vai precisar para soletrar OLÁ é a letra O. A forma da letra O é semelhante a um círculo ou oval, e você pode tirar vantagem de que a simetria ao criar suas peças carta.
Criar variável o1 para a parte superior da letra:
2.2.2: 040 gt; o1 = " OOO "= Gt; " OOO "
Crio o2:
2.2.2: 041 >- o2 = " O O "= Gt; " O O "
Crio o3:
2.2.2: 042 gt; o3 = " O O "= Gt; " O O "
variáveis o4 e o5 são apenas repetindo o3:
2.2.2: 043 gt; o4 = o3 = gt; " O O "2.2.2: 044 gt; o5 = o3 = gt; " O O "
variáveis o6 e o7 são os mesmos que o2 e o1, respectivamente:
2.2.2: 045 gt; o6 = o2 = gt; " O O "2.2.2: 046 gt; o7 = = o1 gt; " OOO "
Criar a matriz letra O e teste:
2.2.2: 047 gt; o = [O1, O2, O3, O4, O5, O6, O7] = gt; [" OOO ", " O O ", " O O ", " O O ", " O O ", " O O ", " OOO "] 2.2.2: 048 gt; coloca OOOOO OO OO OO OO OOOO = gt; nada
Combinando as letras em uma palavra
Agora é hora de montar OLÁ. A primeira coisa que vem à mente é usar apenas puts para imprimir cada array. puts pode ter uma sequência de variáveis separados por vírgulas.
Tente imprimir suas cartas:
2.2.2: 049 gt; coloca H, E, L, L, OH HH HH HH HH HHHHHHHHHHH HEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOOOO OO OO OO OO OOOO = gt; nada
Esse tipo de obras, mas ele imprime na vertical. Seria bom se as letras foram dispostas horizontalmente para torná-lo fácil de ler a palavra OLÁ.
Lembre-se que as matrizes são como caixas com compartimentos? Bem, acontece que você pode obter o conteúdo de qualquer desses conteúdos por pedir o número do compartimento como este:
2.2.2: 050 gt; h [0] = gt; "H H"2.2.2: 051 gt; h [1] = gt; "H H"
Aqui, você está fornecendo o número do compartimento entre colchetes ao lado do nome da variável de matriz - h, nesse caso.
Siga estes passos para obter as letras para imprimir horizontalmente:
Combine as letras utilizando interpolação de string para acessar cada matriz ao mesmo tempo:
2.2.2: 053 gt; puts "# {H [0]} # {E [0]} # {l [0]} # {l [0]} # {o [0]}"H H eeeeeeeee L = looo gt; nada
Você pode tipo de ver como as cartas estão se alinhando. O problema é que se você usar puts em linhas separadas no IRB, ele não vai olhar como a letra linhas conectam todos. Você precisa de alguma forma de repetir esse comando para cada uma das sete partes.
Uma técnica mais avançada que você vai usar muito em projetos posteriores é chamado looping.
Looping é uma maneira de ter o seu próprio repeat código de um determinado número de vezes. Em Ruby, existe um método looping útil que você pode chamar em números para contar para outro número. Tente este código:
2.2.2: 055 gt; 0.upto (6) que | contar | 2.2.2: 056 gt; coloca h [contar] + " " + E [contar] + " " + [Quantidade] l + " " + [Quantidade] l + " " + O [contador] 2.2.2: 057? gt; fim
Assim que você pressionar Return ou Enter após o fim linha, você deve ver:
H H eeeeeeeee L LOOOH H E L L O OH H E L G S ohhhhhhhhh eeeeeeeee L L O OH H E L L O OH H E L L O OH H eeeeeeeee lllllllll lllllllll OOO = gt; 0
Sucesso! A primeira linha, 0.upto (6) fazer | contar | inicia o loop. Ele prepara Ruby para contar a partir de zero, até e incluindo seis. Como Ruby counts cada número, ele coloca o número atual na variável chamada contagem. Rubi então passa para a próxima linha, que tem o seu puts método. Dentro da interpolação de cadeia que combina todas as partes carta, ele pede a um zeroth primeira e imprime essa linha. Em seguida, repete mais seis vezes e imprime cada parte em sequência (de um total de sete). O final fim linha diz Ruby que o loop deve parar por aí.