很多刚开始接触脚本语言的人估计都会对整数除法有点不习惯,比如
9/2 =》 4
反正我是觉得不太方便,特别是自己有时候用ruby来计算一点东西,经常就忘记在定义的整数后面加上一个to_f方法。
ruby中其实有一个类库可以用来解决这个问题,mathn. 如果你载入了这个库之后,
9/2 就会输出 9/2 而不是浮点数。一般来说,用这个解决方法就够用了,但是昨天我写的一个程序用来计算一个稍微复杂一点的数的时候,莫名其妙的给我一个错误,我估计原因应该是因为我的算式里面有指数这样的无理数,mathn还硬要算出一个有理数来,结果溢出了。
幸好ruby语言比较灵活,我给ruby的类库重载了一下就可以实现我要的功能。
class Float
def to_s
format("%.3f", self)
end
end
class Fixnum
def / (num)
self.to_f/num.to_f
end
end
一个是用来给浮点输出格式化一下,后面的就是让整数除法自动的转成浮点数以后再除。简单把,呵呵!
irb(main):008:0> 7/3
=> 2.333
irb(main):009:0> 8/2
=> 4.000
如果在程序里面想用原来的整数除法,可以用div函数。
分享到:
相关推荐
这个Gem专门用于计算两个时间相差多少,能够提供更加灵活和方便的时间差处理功能。 "Ruby-timediff" Gem的核心功能在于提供了一种简单的方法来比较和计算两个时间或日期对象之间的差异。它支持多种单位,如秒、分钟...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于API交互、配置文件以及存储和传输数据。当我们需要比较两个JSON文件的内容,以了解它们之间的差异时,可以借助特定的工具或库,如`Json...
在提供的文件名"ruby186-26.exe"中,我们可以推测这是Ruby 1.8.6的一个版本,尽管较旧,但依然可以作为学习和理解环境配置的参考。请确保下载最新稳定版的Ruby以获取最佳性能和安全更新。 2. **安装Ruby** 运行...
Configatron就是一个为解决这一问题而设计的库,它提供了一个简单易用且功能丰富的框架,使得Ruby应用程序的配置工作变得轻松高效。 Configatron的核心理念是提供一个简洁的API,让开发者能够快速地定义和访问应用...
Ruby-QRcode库是Ruby编程语言中用于生成和解析QR码的一个强大工具。QR码,全称为Quick Response Code(快速响应码),是一种二维条形码,可以存储各种数据,如文本、URL、联系人信息、日历事件等,并且在手机扫描...
在标题和描述中提到的“Ruby框架用于在一个地方保存所有类型的通知(邮件程序,推送通知等)”,这可能指的是Ruby的一个特定库或者框架,用于集中管理应用程序中的各种通知机制。 这个框架可能是`ActiveDelivery`,...
在本文中,我们将深入探讨如何在您的计算机上安装和配置Ruby 1.8.6、Rails 2.0.2、RadRails 0.7.2 IDE以及MySQL数据库。这是一个适用于初学者和有一定经验的开发者的技术指南,旨在帮助您创建一个稳定的开发环境,...
如果使用的是Red Hat系列的Linux发行版,则可能需要额外下载`grep-2.5.1-32.2.i386.rpm`和`pcre-devel-4.5-3.2.SEL4.i386.rpm`这两个RPM包。 3. 下载并安装Lighttpd: ```bash tar xzvf lighttpd-1.4.18.tar.gz ....
Ruby on Rails 安装及 MySQL 数据库配置指南 本文详细介绍了 Ruby on Rails 的安装步骤,以及 MySQL 数据库的配置方法,并提供了一些官方阅读资源。 一、Ruby on Rails 安装 Ruby on Rails 的安装可以分为以下几...
Ruby-Econfig是一个专门为Ruby应用程序设计的灵活配置管理库。它旨在提供一种简洁、高效的方式来管理和组织应用中的配置信息,使得开发者能够轻松地处理各种环境下的配置差异,如开发、测试和生产环境。Econfig库的...
Source Insight CLF插件,使SourceInsight支持Ruby语言
在Ruby开发中,为了管理不同版本的Ruby环境,我们常常会使用到`rbenv`和`ruby-build`这两个工具。本文将详细介绍如何使用`ruby-build`来编译和安装Ruby。 `rbenv`是一个用于管理全局或用户级别的Ruby版本的工具,它...
ruby-measurement是一个简单的 Ruby gem,用于计算和转换测量单位。 安装 将此行添加到应用程序的 Gemfile: gem 'ruby-measurement' 然后执行: $ bundle 或者自己安装: $ gem install ruby-measurement 用法 ...
标签“Ruby开发-数据库驱动器”表明这个库是为Ruby开发者提供的一种数据库接口,专门用于与Cassandra数据库交互。它简化了Cassandra API的使用,让Ruby程序员无需深入了解底层细节就能进行数据库操作。 在压缩包内...
最后,它提到了“适用于SciRuby生态系统(Daru & IRuby)”,这表明它与这两个科学计算相关的Ruby库有良好的集成,Daru用于数据操作和分析,IRuby则是一个交互式Ruby环境,常用于Jupyter notebook。 标签“Ruby开发...
在Windows环境下,搭建Ruby开发环境是一项基础而重要的工作,它涉及到多个步骤,包括安装必要的软件、配置环境变量以及集成开发工具的设置。本教程将详细讲解如何使用RDT(Ruby Development Tools)与Eclipse来创建...
在理解Shield的核心概念之前,我们先来探讨一下身份验证和OAuth这两个关键概念。 身份验证是确认用户是否是他们声称的那个人的过程,通常通过用户名和密码完成。而OAuth(开放授权)是一种授权协议,允许第三方应用...
Hashdiff是一个Ruby库,用于计算两个哈希之间的最小差异。 它还支持比较两个数组。 Hashdiff不会猴子修补任何现有的类。 所有功能都包含在Hashdiff模块内部。 Docs : 警告:请勿将库用于比较大型数组,例如〜...
Ruby on Rails是一个强大的Web开发框架,它为开发者提供了丰富的功能和便利性。在构建Rails应用时,管理和配置应用的环境变量是至关重要的。Figaro就是这样一款工具,它为Rails应用程序提供了一个简单的方式来管理...