惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Know Your Adversary
Know Your Adversary
D
Docker
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
V
V2EX
V
Visual Studio Blog
J
Java Code Geeks
博客园 - 【当耐特】
罗磊的独立博客
量子位
W
WeLiveSecurity
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
O
OpenAI News
PCI Perspectives
PCI Perspectives
The Last Watchdog
The Last Watchdog
S
Schneier on Security
博客园 - Franky
WordPress大学
WordPress大学
T
Tor Project blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Security Latest
Security Latest
Cisco Talos Blog
Cisco Talos Blog
腾讯CDC
美团技术团队
博客园 - 叶小钗
www.infosecurity-magazine.com
www.infosecurity-magazine.com
月光博客
月光博客
S
Secure Thoughts
Engineering at Meta
Engineering at Meta
T
Tailwind CSS Blog
TaoSecurity Blog
TaoSecurity Blog
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
D
DataBreaches.Net
Project Zero
Project Zero
S
SegmentFault 最新的问题
C
Cisco Blogs
H
Help Net Security
Google Online Security Blog
Google Online Security Blog
A
About on SuperTechFans
F
Fortinet All Blogs
博客园 - 司徒正美

博客园 - Andrew Yin

数据访问层组件设计以及选型意识流 第四次扩展的讨论 数据访问层组件设计以及选型意识流 第三次封装(极致、极简而不简单) 数据访问层组件设计以及选型意识流 第二次封装以及各种牢骚 数据访问层组件设计以及选型意识流 第一次封装 数据访问层组件设计以及选型意识流 开篇 UTF-8, Unicode, GB2312三种编码方式解析, 深入研究汉字编码 C++中的模板实例:链表模板 一步一步学Ruby系列(一):Ruby基础知识 .NET下的AOP: PostSharp 原理分析 AST,DLR,Expression Tree-----------推荐一位牛人的博客! C# 交互式SHELL C#中的 eval System.Web.Routing命名空间代码解析(四) Route解析中用到的实体类,一些以"Segment”为名的类 System.Web.Routing命名空间代码解析(三) RouteCollection类 System.Web.Routing命名空间代码解析(二) Routing类(上) System.Web.Routing命名空间代码解析(一) RouteBase类,RouteData类,RouteValueDictionary类 ASP.NET MVC中的各种上下文对象 有关string和Cookie的几个有用的扩展方法 反射加异步,根据枚举值来异步执行方法 操作Enum的一些实用方法
一步一步学Ruby系列(二):Ruby中的函数
Andrew Yin · 2008-12-16 · via 博客园 - Andrew Yin

一、无参函数:

irb(main):010:0> def h
irb(main):
011:1> puts "Hello World!"
irb(main):
012:1> end
=> nil

irb(main):

013:0> h
Hello World!
=> nil
irb(main):
014:0> h()
Hello World!
=> nil

在 Ruby 里调用函数就像提起 Ruby 的名字一样简单。如果函数不需要接受参数,您只要提到它就够了。您可以加一对括号,但不是必需的。

二、有参函数

irb(main):015:0> def h(name)
irb(main):
016:1> puts "Hello #{name}!"
irb(main):
017:1> end
=> nil
irb(main):0
18:0> h("Matz")
Hello Matz!
=> nil

通过#{parameterName}来引用参数。等等,似乎参数没有参数类型哦。是的,这就是鼎鼎大名的“鸭子型”的体现。

三、默认参数

irb(main):019:0> def h(name = "World")
irb(main):
020:1> puts "Hello #{name.capitalize}!"
irb(main):
021:1> end
=> nil
irb(main):
022:0> "chris"
Hello Chris!
=> nil
irb(main):
023:0> h
Hello World!
=> nil

参数可以用括号来指定,也可以直接指定。

当有参数有默认值的时候,可以不指定参数,就像无参函数一样调用。

问题:

参数的返回值问题。

多参数的函数的调用问题。

多参数的函数中,默认参数的位置是否必须位于最后?

好了,下一篇讲Ruby中的类。