Tipos básicos no Ruby
01 de agosto de 2009 - 11:06
Alguns dos tipos básicos do Ruby possuem atalhos para definir valores como strings e arrays, por exemplo. Uma coisa muita gente não sabe, é a diferença entre os diversos tipos de atalhos, como você poderá conferir abaixo.
Strings
Existem cinco maneiras diferentes de se definir uma string no Ruby.
string = "Ruby is awesome!" string = 'Ruby is awesome!' string = %q(Ruby is awesome!) string = %Q(Ruby is awesome!) string = <<-TXT Ruby is awesome! TXT
O que difere uma das outras é a capacidade de se interpolar código Ruby na string.
lang = "Ruby"
puts "#{lang} is awesome!"
# => Ruby is awesome!
puts '#{lang} is awesome!'
# => #{lang} is awesome!
puts %Q(#{lang} is awesome!)
# => Ruby is awesome!
puts %q(#{lang} is awesome!)
# => #{lang} is awesome!
puts <<-TXT
#{lang} is awesome!
TXT
# => Ruby is awesome! Arrays
O Array também possui formas diferentes de instanciação.
items = ["Ruby", "is", "awesome!"] items = %w(Ruby is awesome!) items = %W(Ruby is awesome!)
E de forma similar, a diferença entre as duas últimas formas é a interpolação de código Ruby.
lang = "Ruby"
items = %w(#{lang} is awesome!)
# => ["\#{lang}", "is", "awesome!"]
items = %W(#{lang} is awesome!)
# => ["Ruby", "is", "awesome!"] Expressões regulares
Expressões regulares podem ser definidas de três formas diferentes.
regex = /ruby/sim
regex = %r(ruby)sim
regex = Regexp.new("ruby", Regexp::MULTILINE|Regexp::IGNORECASE|Regexp::EXTENDED) Não existem diferenças na execução das expressões regulares; na prática, se sua expressão possui muitas aspas, é interessante usar o atalho %r().
Comandos Shell
A execução de comandos Shell pode ser feita de três maneiras diferentes.
`pwd` %x(pwd) system "pwd"
A única diferença prática é que o método system irá enviar o resultado para STDOUT, enquanto %x(pwd) e `pwd` irão retornar a resposta da execução.









Comentários (0)