diff --git a/README.md b/README.md index 66c9d8b..42d70d6 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,16 @@ O que esta expressão retorna e por quê? `true and 0 && !nil and 3 > 2` +A expressão retorna `true`. A primeira parte da expressão possui dois valores, que quando comparados retornam `true`. Apesar do segundo valor da primeira expressão ser `0`, ele é um valor valido que no ruby é avaliado como `true`(Apenas seria avalido como falso se o valor fosse `false` ou `nil`). Já na primeira parte da segunda expressão `nil` é negado caracterizando-a como verdadeira e posteriormente o resultado da expressão `3>2` também é verdadeiro. Logo toda a expressão é verdadeira. + ### Desafio 2 Explique o funcionamento do operador _Or Equals_ `a ||= b` +O operador `||=` atribui um valor a variável apenas caso ela esteja possua um valor nil, false, ou undefined, do contrario ele receberá o valor de `a`.Sua forma expandida pode ser escrita como `a = a || b`. É muito utilizado para carregar valores de maneira "lazy" + ### Desafio 3 Escreva um programa que imprima os números de 1 até 100 substituindo os múltiplos de 3 pela palavra _Dev_, os múltiplos de 5 pela palavra _Magic_ e os múltiplos de ambos pela palavra _DevMagic_ diff --git a/devmagic_challege_five.rb b/devmagic_challege_five.rb new file mode 100644 index 0000000..8851441 --- /dev/null +++ b/devmagic_challege_five.rb @@ -0,0 +1,5 @@ +puts "4500 number class is #{4500.class}" + +stringfied_number = sprintf("%d", 4500) + +puts "Now 4500 number class is #{stringfied_number.class }" diff --git a/devmagic_challege_four.rb b/devmagic_challege_four.rb new file mode 100644 index 0000000..dd5ab13 --- /dev/null +++ b/devmagic_challege_four.rb @@ -0,0 +1,8 @@ +puts "Digite a sentença:" +str = gets.chomp + +if str.reverse.eql?(str) + puts "#{ str } is a palindrome." +else + puts "#{ str } is not a palindrome." +end diff --git a/devmagic_challege_three.rb b/devmagic_challege_three.rb new file mode 100644 index 0000000..eb37269 --- /dev/null +++ b/devmagic_challege_three.rb @@ -0,0 +1,10 @@ + +(1..100).each do |number| + + puts "dev" if number%3==0 + + puts "magic" if number%5==0 + + puts "Devmagic" if number%3==0 && number%5==0 + +end