# define french_string = "il xc3xa9tait une fois" long_string = <<EOF Here is a long string With many paragraphs EOF puts long_string.empty? puts long_string.include? "many" puts french_string + long_string # concatenate hash = { key1: "val1", key2: "val2" } string = "" str2 = "" hash.each{|k,v| string << k.to_s << " is " << v << " " } hash.each{|k,v| str2 << "#{k}" << " is " << "#{v}" << " "} puts string puts str2 # join data = ['1', '2', '3'] s = '' data.each { |x| s << x << ' and a '} puts s # => "1 and a 2 and a 3 and a " puts data.join(' and a ') # number number = 5 puts "The number is #{number}." # => "The number is 5." puts "The number is #{5}." # => "The number is 5." puts "The number after #{number} is #{number.next}." # => "The number after 5 is 6." puts "The number prior to #{number} is #{number-1}." # => "The number prior to 5 is 4." puts "We're ##{number}!" # => "We're #5!"
puts "I've set x to #{x = 5; x += 1}." # Escaping puts "#{foo}" puts '#{foo}' # puts "#{foo}" # error because no variable of foo defined.
template = 'Oceania has always been at war with %s.' puts template % 'Eurasia' # => "Oceania has always been at war with Eurasia." puts 'To 2 decimal places: %.4f' % Math::PI puts 'Zero-padded: %.3d' % Math::PI
JSP, ASP type
require 'erb' template = ERB.new %q{Chunky <%= food %>!} food = "bacon" puts template.result(binding) # => "Chunky bacon!" food = "peanut butter" puts template.result(binding) # => "Chunky peanut butter!" puts template.result
reverse, reverse!, split
reverse 和 reverse! 的区别:reverse 不改变 string 本身, reverse! 相当于 s=s.reverse
s = ".sdrawkcab si gnirts sihT" puts s.reverse puts s puts s.reverse! puts s.split(/(s+)/) # ["This", " ", "string", " ", "is", " ", "backwards."] puts s.split(/s+/) # => ["This", "sting", "is", "backwards."] puts s.split(' ') # => ["This", "sting", "is", "backwards."]
八进制 和 十六进制 的定义
octal = "