# Code Block Error

**URL:** <https://www.ruby-forum.com/t/code-block-error/69405>\
**Category:** Ruby\
**Created:** [September 20, 2006, 9:24pm UTC](https://www.ruby-forum.com/t/code-block-error/69405 "2006-09-20T21:24:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dfg59](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@dfg59](https://www.ruby-forum.com/u/dfg59)\
**Post date:** [September 20, 2006, 9:24pm UTC](https://www.ruby-forum.com/t/code-block-error/69405/1 "2006-09-20T21:24:46Z")

</div>

The following code works fine:

counter = 0;  
semi\_common\_tbls.keys.each do |set|  
semi\_common\_tbls[set].each do |table|  
outfile \<\< [“CommonTables”+counter.to\_s,table]  
end  
end

However, when I change it like so:

counter = 0;  
semi\_common\_tbls.keys.each do |set|  
counter++  
semi\_common\_tbls[set].each do |table|  
outfile \<\< [“CommonTables”+counter.to\_s,table]  
end  
end

I get the following error:  
tablebuildv2.rb:46: undefined method `+@' for ["table1", "table5"]:Array (NoMethodError) from tablebuildv2.rb:42:in`each’  
from tablebuildv2.rb:42

What gives?

Thanks,  
Drew

---

<div class="post-metadata">

**Author:** ![dfg59](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@dfg59](https://www.ruby-forum.com/u/dfg59)\
**Post date:** [September 20, 2006, 9:28pm UTC](https://www.ruby-forum.com/t/code-block-error/69405/2 "2006-09-20T21:28:07Z")

</div>

Well, it seems you can’t use ++ as in Java, changed to +=1.

Thanks,  
Drew

---

<div class="post-metadata">

**Author:** ![dfg59](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@dfg59](https://www.ruby-forum.com/u/dfg59)\
**Post date:** [September 20, 2006, 9:29pm UTC](https://www.ruby-forum.com/t/code-block-error/69405/3 "2006-09-20T21:29:47Z")

</div>

On Sep 20, 2006, at 2:24 PM, Drew O. wrote:

> However, when I change it like so:
> 
> counter = 0;  
> semi\_common\_tbls.keys.each do |set|  
> counter++

Ruby doesn’t have a ++ operator. Try:

counter += 1

> ```
> from tablebuildv2.rb:42
> 
> ```

James Edward G. II

---

<div class="post-metadata">

**Author:** ![dfg59](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e0b2c6/32.png) [@dfg59](https://www.ruby-forum.com/u/dfg59)\
**Post date:** [September 20, 2006, 9:35pm UTC](https://www.ruby-forum.com/t/code-block-error/69405/4 "2006-09-20T21:35:47Z")

</div>

Drew O. wrote:

> However, when I change it like so:
> 
> counter = 0;  
> semi\_common\_tbls.keys.each do |set|  
> counter++

‘++’ is not a Ruby operator, it doesn’t have any of the  
unary increment/decrement operators.

Closest is  
counter += 1

cheers
