- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
您可能关注的文档
- 3 - Journalist Information英文.pdf
- 3-oracle-data-center-overview-362690-zhs英文.pdf
- 19.ISIM6.0_API_Performance_Tuning_Guide_022113英文.pdf
- a code of practice for risk management of tunnel works英文.pdf
- A Guide To Healthy Living英文.pdf
- Avoiding the alignement trap on IT避免其上的对齐陷阱.pdf
- backup and restore using ontape英文.pdf
- Body painting英文.ppt
- Brainstorming-Basic tools for process improvement头脑风暴过程改进的基本工具.pdf
- Business Correspondences英文.ppt
文档评论(0)