代码如下:
def User.new_remember_token
SecureRandom.urlsafe_base64
end
def User.hash(token)
Digest::SHA1.hexdigest(token.to_s)
end
问题如下: 熟悉《ruby on rails tutorial》应该知道这是教程中用户登录部分的代码,其中两个类方法分别为生成随机的长度为 16 的随机字符串和对字符串进行加密。 我的问题如下: 1,如何区分 ruby 文档中那些是类,那些是方法? 2,ruby 文档中核心库和标准库的区别在哪里?标准库应该是对核心库的补充,他们在使用的时候是否有区别。 3,如 tutorial 所说,SecureRandom 是模块,那么调用模块中的方法直接可以使用模块名。方法名 这种形式么? 4,Digest::SHA1.hexdigest 是否表示的是模块名 | 类名 | 方法名,就是说 Digest 这个模块中包括 SHA1 这个类。如【http://www.cnblogs.com/cnblogsfans/archive/2009/02/10/1387821.html】最后一条模块和类可以互相嵌套。
问题描述如下: 1:我查了 ruby 的 api,发现 SecureRandom 是 ruby 的标准库,见【http://www.ruby-doc.org/stdlib-2.0.0/libdoc/securerandom/rdoc/index.htmltutorail》中的表述为SecureRandom是一个模块,那么如何在API的文档中分辨出那些是ruby自定义的类或者自定义的模块,我在文档中看不出什么区别。在给出网页中左边显示的是类名,右边显示的是方法名。】,《 2:查阅了 ruby 的 api 文档【http://www.ruby-doc.org/stdlib-2.0.0/libdoc/digest/rdoc/index.htmlclass中存在Digest::SHA1】左边的 形式的 Class,是否就是说这是一个模块名加上类名的形式的类。
各种新手问题,多拍砖,计划看完 tutorial,再看大本的语法书。谢谢各位。