# Returning value from ternary operator

**URL:** <https://www.ruby-forum.com/t/returning-value-from-ternary-operator/165679>\
**Category:** Ruby\
**Created:** [April 16, 2009, 12:30pm UTC](https://www.ruby-forum.com/t/returning-value-from-ternary-operator/165679 "2009-04-16T12:30:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [April 16, 2009, 12:30pm UTC](https://www.ruby-forum.com/t/returning-value-from-ternary-operator/165679/1 "2009-04-16T12:30:57Z")

</div>

Hi  
I have

```
def get_company_details_array
c = nil
arr = [] if c.nil?
c.nil? ? 2.times {arr.push("")} :['a','b']

```

end  
arr = [‘abc’] + get\_company\_details\_array  
puts arr.inspect

What I expected here is [“abc”,"",""] But I am getting error  
array.rb:7:in `+’: can’t convert Fixnum into Array (TypeError)  
from array.rb:7

```
     Could anybody please correct the code?

```

Thanks in advance  
Sijo

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [April 16, 2009, 12:53pm UTC](https://www.ruby-forum.com/t/returning-value-from-ternary-operator/165679/2 "2009-04-16T12:53:23Z")

</div>

2009/4/16 Sijo Kg [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Hi  
> I have
> 
> def get\_company\_details\_array  
> c = nil  
> arr = [] if c.nil?  
> c.nil? ? 2.times {arr.push(“”)} :[‘a’,‘b’]  
> end

What weird logic is that? Basically you can replace the method with

def get\_company\_details\_array  
[‘’,‘’]  
end

> arr = [‘abc’] + get\_company\_details\_array  
> puts arr.inspect
> 
> What I expected here is [“abc”,“”,“”] But I am getting error  
> array.rb:7:in `+': can’t convert Fixnum into Array (TypeError)  
> from array.rb:7
> 
> ```
> Could anybody please correct the code?
> 
> ```

Hint: Fixnum#times returns the number.

Cheers

robert

---

<div class="post-metadata">

**Author:** ![sijo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/da6949/32.png) [@sijo](https://www.ruby-forum.com/u/sijo)\
**Post date:** [April 16, 2009, 1:22pm UTC](https://www.ruby-forum.com/t/returning-value-from-ternary-operator/165679/3 "2009-04-16T13:22:24Z")

</div>

No  
it is not weird logic since I have omitted some portion for ease of  
reading  
complete code like

def get\_company\_details\_array  
c = self.onboarding\_company  
c.nil? ? ["","","",""] :[c.name,c.web\_site\_url,c.email,c.phone]  
end
