ruby – 为什么sqrt()不是Numeric的方法?
发布时间:2020-12-16 20:42:43 所属栏目:百科 来源:网络整理
导读:在Ruby中,一切都是一个对象.这就是为什么我不明白为什么我们有数学模块.在我看来,Math模块中的大部分(全部)函数应该是像Integer,Float等数字类型的方法. 例如.代替 Math.sqrt(5) 这样做会更有意义 5.sqrt sin,cos,tan,log10等也同样如此. 有谁知道为什么所有
在Ruby中,一切都是一个对象.这就是为什么我不明白为什么我们有数学模块.在我看来,Math模块中的大部分(全部)函数应该是像Integer,Float等数字类型的方法.
例如.代替 Math.sqrt(5) 这样做会更有意义 5.sqrt sin,cos,tan,log10等也同样如此. 有谁知道为什么所有这些功能最终都在数学模块中? 解决方法
我不知道Ruby的早期历史,但我有一种感觉,Math模块是在C< math.h>之后建立的.头.这是Ruby标准库中的一个奇怪的鸭子.
但是,它是Ruby!所以你可以随时打破猴子修补! class Float def sqrt; Math.sqrt(self); end def sin; Math.sin(self); end def cos; Math.cos(self); end def tan; Math.tan(self); end def log10; Math.log10(self); end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- React.createClass和extends Component的区别
- xml – 经典asp中的System.Net.HttpWebRequest?
- ruby-on-rails – 我们如何使用ruby on rails上的actionmai
- 更新列值PostgreSQL
- quick-cocos2dx在eclipse下的lua调试
- Xcode 6中支持OpenMP(clang 3.5)
- DeepLearing学习笔记-改善深层神经网络(第一周作业-2-正则化
- c – 可以禁用使用SetWindowsHookEx运行时创建的挂钩吗?
- ruby-on-rails – Rails 3路由有或没有:id
- 通过ajax实现对某个div的整体刷新替换(异步加载)