03_introduction_to_ruby英文英文.pdfVIP

  • 10
  • 0
  • 约3.47千字
  • 约 10页
  • 2018-09-29 发布于福建
  • 举报
Ruby for Java Programmers CS 169 Spring 2012 Armando Fox Outline •Three pillars of Ruby (§3.1) •Everything is an object, and every operation is a method call (§3.2–3.3) •OOP in Ruby (§3.4) •Reflection and metaprogramming (§3.5) •Functional idioms and iterators (§3.6) •Duck typing and mix-ins (§3.7) •Blocks and Yield (§3.8) Ruby 101(ELLS §3.1) Armando Fox © 2012 Armando Fox David Patterson Licensed under Creative Commons Attribution- NonCommercial-ShareAlike 3.0 Unported License Ruby is... •Interpreted •Object-oriented •Everything is an object •Every operation is a method call on some object •Dynamically typed: objects have types, but variables don’t •Dynamic •add, modify code at runtime (metaprogramming) •ask objects about themselves (reflection) •in a sense all programming is metaprogramming Naming conventions •ClassNames use UpperCamelCase class FriendFinder ... end •methods variables use snake_case def learn_conventions ... end def faculty_member? ... end def charge_credit_card! ... end •CONSTANTS (scoped) $GLOBALS (not scoped) TEST_MODE = true $TEST_MODE = true •symbols: immutable string whose value is itself favorite_framework = :rails :rails.to_s == rails rails.to_sym == :rails :rails == rails # = false Variables, Arrays, Hashes •There are no declarations! •local variables must be assigned before use •instance class variables ==nil until assigned •OK: x = 3; x = foo •Wrong: Integer x=3 •Array: x = [1,two,:three] x[1] == two ; x.length==3 •Hash: w = {a=1, :b=[2, 3]} w[:b][0] == 2 w.keys == [a, :b] Methods •Everything (except fixnums) is pass-by-reference def foo(x,y) re

文档评论(0)

1亿VIP精品文档

相关文档