diff options
| author | Levi Bostian <levi.bostian@gmail.com> | 2014-09-05 21:06:05 -0500 | 
|---|---|---|
| committer | Levi Bostian <levi.bostian@gmail.com> | 2014-09-05 21:06:05 -0500 | 
| commit | 6f32b5bfd93c0cac4f46bf96df26e23d483adf81 (patch) | |
| tree | 771e943d8ef0c4fd74313799aced2ecef088c72b | |
| parent | 291f6f6b22acf7962a180e6e12234aebcb20c5bd (diff) | |
| parent | b249363a998d08aff750d2722370e648c59cf70f (diff) | |
Merge pull request #723 from dskecse/ruby-en-style-changes
[ruby/en] Make style fixes to conform to Ruby style guide
| -rw-r--r-- | ruby.html.markdown | 102 | 
1 files changed, 51 insertions, 51 deletions
| diff --git a/ruby.html.markdown b/ruby.html.markdown index 962853a2..3c67de2e 100644 --- a/ruby.html.markdown +++ b/ruby.html.markdown @@ -9,6 +9,7 @@ contributors:    - ["Nick LaMuro", "https://github.com/NickLaMuro"]    - ["Marcos Brizeno", "http://www.about.me/marcosbrizeno"]    - ["Ariel Krakowski", "http://www.learneroo.com"] +  - ["Dzianis Dashkevich", "https://github.com/dskecse"]  --- @@ -35,7 +36,7 @@ You shouldn't either  8 - 1 #=> 7  10 * 2 #=> 20  35 / 5 #=> 7 -2 ** 5 #=> 32 +2**5 #=> 32  # Arithmetic is just syntactic sugar  # for calling a method on an object @@ -78,14 +79,17 @@ false.class #=> FalseClass  'I am a string'.class #=> String  "I am a string too".class #=> String -placeholder = "use string interpolation" +placeholder = 'use string interpolation'  "I can #{placeholder} when using double quoted strings"  #=> "I can use string interpolation when using double quoted strings" +# Prefer single quoted strings to double quoted ones where possible +# Double quoted strings perform additional inner calculations +  # Combine strings, but not with numbers -"hello " + "world"  #=> "hello world" -"hello " + 3 #=> TypeError: can't convert Fixnum into String -"hello " + 3.to_s #=> "hello 3" +'hello ' + 'world'  #=> "hello world" +'hello ' + 3 #=> TypeError: can't convert Fixnum into String +'hello ' + 3.to_s #=> "hello 3"  # print to the output  puts "I'm printing!" @@ -130,7 +134,7 @@ array = [1, 2, 3, 4, 5] #=> [1, 2, 3, 4, 5]  # Arrays can contain different types of items -[1, "hello", false] #=> [1, "hello", false] +[1, 'hello', false] #=> [1, "hello", false]  # Arrays can be indexed  # From the front @@ -157,7 +161,7 @@ array << 6 #=> [1, 2, 3, 4, 5, 6]  # Hashes are Ruby's primary dictionary with keys/value pairs.  # Hashes are denoted with curly braces: -hash = {'color' => 'green', 'number' => 5} +hash = { 'color' => 'green', 'number' => 5 }  hash.keys #=> ['color', 'number'] @@ -170,7 +174,7 @@ hash['nothing here'] #=> nil  # Since Ruby 1.9, there's a special syntax when using symbols as keys: -new_hash = { defcon: 3, action: true} +new_hash = { defcon: 3, action: true }  new_hash.keys #=> [:defcon, :action] @@ -180,11 +184,11 @@ new_hash.keys #=> [:defcon, :action]  # Control structures  if true -  "if statement" +  'if statement'  elsif false -  "else if, optional" +  'else if, optional'  else -  "else, also optional" +  'else, also optional'  end  for counter in 1..5 @@ -216,7 +220,7 @@ end  #=> iteration 5  # You can also surround blocks in curly brackets: -(1..5).each {|counter| puts "iteration #{counter}"} +(1..5).each { |counter| puts "iteration #{counter}" }  # The contents of data structures can also be iterated using each.  array.each do |element| @@ -241,32 +245,30 @@ grade = 'B'  case grade  when 'A' -  puts "Way to go kiddo" +  puts 'Way to go kiddo'  when 'B' -  puts "Better luck next time" +  puts 'Better luck next time'  when 'C' -  puts "You can do better" +  puts 'You can do better'  when 'D' -  puts "Scraping through" +  puts 'Scraping through'  when 'F' -  puts "You failed!" +  puts 'You failed!'  else -  puts "Alternative grading system, eh?" +  puts 'Alternative grading system, eh?'  end -  #=> "Better luck next time"  # cases can also use ranges  grade = 82  case grade -    when 90..100 -      puts "Hooray!" -    when 80...90 -      puts "OK job"  -    else -      puts "You failed!" +when 90..100 +  puts 'Hooray!' +when 80...90 +  puts 'OK job' +else +  puts 'You failed!'  end -  #=> "OK job" @@ -284,23 +286,23 @@ double 3 #=> 6  double double 3 #=> 12 -def sum(x,y) +def sum(x, y)    x + y  end  # Method arguments are separated by a comma  sum 3, 4 #=> 7 -sum sum(3,4), 5 #=> 12 +sum sum(3, 4), 5 #=> 12  # yield  # All methods have an implicit, optional block parameter  # it can be called with the 'yield' keyword  def surround -  puts "{" +  puts '{'    yield -  puts "}" +  puts '}'  end  surround { puts 'hello world' } @@ -311,25 +313,25 @@ surround { puts 'hello world' }  # You can pass a block to a function -# "&" marks a reference to a passed block  +# "&" marks a reference to a passed block  def guests(&block) - block.call "some_argument"  +  block.call 'some_argument'  end -  +  # You can pass a list of arguments, which will be converted into an array -# That's what splat operator ("*") is for  +# That's what splat operator ("*") is for  def guests(*array) - array.each { |guest| puts "#{guest}" } +  array.each { |guest| puts guest }  end  # Define a class with the class keyword  class Human    # A class variable. It is shared by all instances of this class. -  @@species = "H. sapiens" +  @@species = 'H. sapiens'    # Basic initializer -  def initialize(name, age=0) +  def initialize(name, age = 0)      # Assign the argument to the "name" instance variable for the instance      @name = name      # If no age given, we will fall back to the default in the arguments list. @@ -356,20 +358,19 @@ class Human    # A class method uses self to distinguish from instance methods.    # It can only be called on the class, not an instance.    def self.say(msg) -    puts "#{msg}" +    puts msg    end    def species      @@species    end -  end  # Instantiate a class -jim = Human.new("Jim Halpert") +jim = Human.new('Jim Halpert') -dwight = Human.new("Dwight K. Schrute") +dwight = Human.new('Dwight K. Schrute')  # Let's call a couple of methods  jim.species #=> "H. sapiens" @@ -380,7 +381,7 @@ dwight.species #=> "H. sapiens"  dwight.name #=> "Dwight K. Schrute"  # Call the class method -Human.say("Hi") #=> "Hi" +Human.say('Hi') #=> "Hi"  # Variable's scopes are defined by the way we name them.  # Variables that start with $ have global scope @@ -399,7 +400,7 @@ defined? @@var #=> "class variable"  Var = "I'm a constant"  defined? Var #=> "constant" -# Class also is object in ruby. So class can have instance variables. +# Class is also an object in ruby. So class can have instance variables.  # Class variable is shared among the class and all of its descendants.  # base class @@ -415,7 +416,7 @@ class Human    end  end -#  derived class +# derived class  class Worker < Human  end @@ -451,8 +452,8 @@ module ModuleExample    end  end -# Including modules binds the methods to the object instance -# Extending modules binds the methods to the class instance +# Including modules binds their methods to the class instances +# Extending modules binds their methods to the class itself  class Person    include ModuleExample @@ -467,7 +468,7 @@ Person.new.foo # => 'foo'  Book.foo       # => 'foo'  Book.new.foo   # => NoMethodError: undefined method `foo' -# Callbacks when including and extending a module are executed +# Callbacks are executed when including and extending a module  module ConcernExample    def self.included(base) @@ -500,9 +501,8 @@ Something.new.qux # => 'qux'  ## Additional resources -- [Learn Ruby by Example with Challenges](http://www.learneroo.com/modules/61/nodes/338) - A variant of this reference with in-browser challenges.  +- [Learn Ruby by Example with Challenges](http://www.learneroo.com/modules/61/nodes/338) - A variant of this reference with in-browser challenges.  - [Official Documentation](http://www.ruby-doc.org/core-2.1.1/)  - [Ruby from other languages](https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/) -- [Programming Ruby](http://www.amazon.com/Programming-Ruby-1-9-2-0-Programmers/dp/1937785491/) - An older [free addition](http://ruby-doc.com/docs/ProgrammingRuby/) is available online.  - - +- [Programming Ruby](http://www.amazon.com/Programming-Ruby-1-9-2-0-Programmers/dp/1937785491/) - An older [free addition](http://ruby-doc.com/docs/ProgrammingRuby/) is available online. +- [Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide) - A community-driven Ruby coding style guide. | 
