basic ruby syntax
play

Basic Ruby Syntax sum = 0 Newline is statement separator i = 1 - PowerPoint PPT Presentation

Basic Ruby Syntax sum = 0 Newline is statement separator i = 1 while i <= 10 do sum += i*i i = i + 1 do ... end instead of { ... } end puts "Sum of squares is #{sum}\n" Optional parentheses Substitution in in method


  1. Basic Ruby Syntax sum = 0 Newline is statement separator i = 1 while i <= 10 do sum += i*i i = i + 1 do ... end instead of { ... } end puts "Sum of squares is #{sum}\n" Optional parentheses Substitution in in method invocation string value CS 142 Lecture Notes: Ruby Slide 1

  2. Ruby String Syntax ● Single quotes (only \' and \\ ) 'Bill\'s "personal" book' ● Double quotes (many escape sequences) "Found #{count} errors\nAborting job\n" ● %q (similar to single quotes) %q<Nesting works: <b>Hello</b>> ● %Q (similar to double quotes) %Q|She said "#{greeting}"\n| ● Here documents <<END First line Second line END November 21, 2011 @ExploreNY Slide 2

  3. Variable Names and Scopes foo Local variable $foo Global variable @foo Instance variable in object @@foo Class variable “Constant” (by convention) MAX_USERS CS 142 Lecture Notes: Ruby Slide 3

  4. Ruby Statements if x < 10 then ... elsif x < 20 ... else ... end while x < 10 do ... end array = [14, 22, 34, 46, 92] for value in array do ... end CS 142 Lecture Notes: Ruby Slide 4

  5. Factorial def fac(x) if x <= 0 then return 1 end return x*fac(x-1) end CS 142 Lecture Notes: Ruby Slide 5

  6. Arguments: Defaults, Variable # def inc(value, amount=1) value+amount end def max(first, *rest) max = first for x in rest do if (x > max) then max = x end end return max end CS 142 Lecture Notes: Ruby Slide 6

  7. Keyword Arguments def create_widget(size, properties) ... end create_widget(6, {:id => "table22", :class => "Cart"}) create_widget(6, :id => "table22", :class => "Cart") create_widget(6, id: "table22", class: "Cart") CS 142 Lecture Notes: Ruby Slide 7

  8. Blocks, Iterators, Yield oddNumbers(3) do |i| Block: code passed print(i, "\n") to method end def oddNumbers(count) number = 1 while count > 0 do yield(number) Invoke method’s block number += 2 count -= 1 end end CS 142 Lecture Notes: Ruby Slide 8

  9. Another Block/Iterator Example def sumOdd(count) sum = 0 oddNumbers(count) do |i| sum += i end return sum end def oddNumbers(count) number = 1 while count > 0 do yield(number) number += 2 count -= 1 end end CS 142 Lecture Notes: Ruby Slide 9

  10. Equivalent Code array = [14, 22, 34, 46, 92] for value in array do print(value, "\n") end array = [14, 22, 34, 46, 92]; array.each do |value| print(value, "\n") end CS 142 Lecture Notes: Ruby Slide 10

  11. Simple Class class Point def initialize(x, y) @x = x @y = y end p = Point.new(3,4) puts "p.x is #{p.x}" def x p.x = 44 @x end def x=(value) @x = value end end Slide 11 CS 142 Lecture Notes: Ruby

  12. Module Example class MyClass include Enumerable ... def each ... end end New methods available in MyClass: min , max , sort , map , select , ... CS 142 Lecture Notes: Ruby Slide 12

  13. CS 140 Lecture Notes: File Systems Slide 13

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend