Hello all, I'm new to this site I'm an intern at software company and was given the task of writing a program in ruby that simply could open data files check for a particular field in the text file and compare the intger agains't a mininum value. I seem to be getting a prblem from ruby that says " `': no implicit conversion from nil to integer (TypeError)" Ruby doesn't seem to let me give integer values to an array inside a loop. Is there anyway I can static cast or do a type conversion in ruby ?
on 2008-11-19 21:39
on 2008-11-19 21:47
Demetirck Demetrickn wrote: > I seem to be getting a prblem from ruby that says > " `': no implicit conversion from nil to integer (TypeError)" > > Ruby doesn't seem to let me give integer values to an array inside a > loop. That error doesn't happen when you give an integer, it happens when you give nil. array works, array[nil] does not. So likely you have a variable that is nil or a method that returns nil, while you expect it to return an integer. (For example Regex#=~ returns nil if the regex does not match. So if you use the return value from =~, you'll have to check that it's not nil before using it in ). HTH, Sebastian
on 2008-11-19 21:51
On Wed, Nov 19, 2008 at 12:35 PM, Demetirck Demetrickn <email@example.com> wrote: > loop. > Is there anyway I can static cast or do a type conversion in ruby ? > -- > Posted via http://www.ruby-forum.com/. > > It doesn't sound like your error is necessarily what you think it is. That error happens when you do something like: a = [1, 2, 3, 4, 5] i = nil a[i] You can convert most objects (including nil) to an integer with the to_i method, but that probably isn't going to fix anything. nil.to_i is always 0. Post some code and someone here will likely be able to spot your error.
on 2014-03-26 05:54
rand_id = rand(0..@abc.hits.size-1) @abc = @abc.hits[rand_id].primary_key.to_i i am getting an no implicit conversion from nil to integer .please suggest any solution error is coming from the C code inside the Ruby interpreter. A core class, implemented in C, is being handed a nil when it expects an Integer. It may have a #to_i but it doesn't have a #to_int and so the result is the TypeError. but how can i change there please suggest solution..