标签: fixnum

Ruby最大整数

我需要能够确定Ruby中的系统最大整数.有人知道怎么样,或者有可能吗?

ruby fixnum

80
推荐指数
4
解决办法
9万
查看次数

Ruby没有将Fixnum隐式转换为String(TypeError)

我试图回答Chris Pine的"学习编程"一书中的以下问题:

闰年.编写一个程序,要求开始年份和结束年份,然后将所有闰年放在它们之间(如果它们也是闰年,则包括它们).闰年是可被4整除的年份(如1984年和2004年).然而,被100整除的年份不是闰年(例如1800和1900),除非它们也可被400整除(例如1600和2000,实际上是闰年).真是一团糟!

运行代码时出现以下错误:

leap_year.rb:12:in +': no implicit conversion of Fixnum into String (TypeError) from leap_year.rb:12:in'

这是我的代码:

#leap years

puts 'What is the starting year?'
starting_year = gets.chomp
puts 'What is the ending year?'
ending_year = gets.chomp

while starting_year <= ending_year
  if starting_year%4 == 0 && (starting_year%100 != 0 && starting_year%400 == 0)
    puts starting_year 
  end 
  starting_year+=1
end
Run Code Online (Sandbox Code Playgroud)

ruby fixnum

21
推荐指数
2
解决办法
5万
查看次数

将长固定数转换为数组Ruby

在ruby中有一个方法可以将fixnum变成像74239数组一样[7,4,2,3,9]吗?

ruby arrays fixnum

8
推荐指数
5
解决办法
7705
查看次数

如何确定Ruby中Fixnum的长度?

在我写的脚本中,我想在Ruby中找到Fixnum的长度.我能做到<num>.to_s.length,但有没有办法直接找到Fixnum的长度而不将其转换为String?

ruby integer fixnum ruby-1.9

8
推荐指数
3
解决办法
2万
查看次数

Ruby On Rails - "未定义的方法`id'为4:Fixnum"

我最近决定users在Ruby On Rails应用程序中列出所有内容- 因为我无法弄清楚如何以其他方式列出它们,我决定使用partials.我的管理页面上有以下内容(只是连接到自己的管理控制器):

<%= render :partial => User.find(:all) %>
Run Code Online (Sandbox Code Playgroud)

然后_user.html.erb我在我的用户视图文件夹中调用了一个文件.这包含以下内容:

<ul>
<% div_for @user.object_id do %>
    <li><%= link_to user.username, user.username %></li>
<% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)

当应用程序运行并进入管理页面时,我收到以下错误:

未定义的方法`id'为4:Fixnum

它说这是因为这一行(在部分文件中):

<% div_for @user.object_id do %>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会发生这种情况(并且已经用Google搜索了几个小时才能找到结果并且只找到对我不起作用的解决方案).我认为这与我对@user实例变量的使用有关,但我不完全确定.

ruby-on-rails fixnum

5
推荐指数
1
解决办法
2万
查看次数

Lisp中的负无穷大

我正在寻找在Lisp中表示负无穷大的标准方法.是否有一个符号值,Lisp的算术函数识别为少于所有其他数字?

具体来说,我正在寻找一种优雅的方式来编写以下内容:

(defun largest (lst)
  "Evaluates to the largest number in lst"
  (if (null lst)
    ***negative-inifinity***
    (max (car lst) (largest (cdr lst)))))
Run Code Online (Sandbox Code Playgroud)

lisp fixnum

5
推荐指数
1
解决办法
1200
查看次数

为什么我不能将fixnum除以另一个fixnum?

我目前正在尝试将counts["email"]包含数字82,000的哈希除以total包含值130万的变量.

当我跑步时,puts counts["email"]/total我得到0.

为什么我不能对这些进行分工呢?

ruby math division fixnum

5
推荐指数
2
解决办法
1787
查看次数

TypeError:使用Ruby&〜运算符的错误参数类型

我尝试比较我的Ruby应用程序中的标志.

我有这个代码:

if self.flag &~ flag == self.flag
        return false
Run Code Online (Sandbox Code Playgroud)

但它不会运行.我把问题缩小到了这个范围:

irb(main):020:0> my_user.flag
=> 1
irb(main):021:0> flag
=> 128
irb(main):022:0> my_user.flag.class
=> Fixnum
irb(main):023:0> flag.class
=> Fixnum
irb(main):024:0> my_user.flag &~ flag
TypeError: wrong argument type Fixnum (expected Proc)
Run Code Online (Sandbox Code Playgroud)

这真是令人不安,因为它的工作原理如下:

irb(main):025:0> 1 &~ 128
=> 1
Run Code Online (Sandbox Code Playgroud)

ruby bitwise-operators fixnum

5
推荐指数
1
解决办法
779
查看次数

Ruby中是否有任何优雅的方法将数字转换为数字数组

对于数字n,我只能想到

array_of_digits = n.to_s.split('').map(&:to_i)
Run Code Online (Sandbox Code Playgroud)

还有更优雅的方法吗?

ruby arrays string fixnum

4
推荐指数
1
解决办法
235
查看次数

Fixnum和Numeric和有什么不一样

它们看起来是等效的,但是当比较它们时,它是错误的:

5.is_a? Fixnum
# => true
5.is_a? Numeric
# => true
Numeric == Fixnum
# => false
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails numeric fixnum

4
推荐指数
1
解决办法
1170
查看次数