ruby - Undefined method 'center' for nilclass -


i have ternary operator outputs student count.

@students.count < 2 ? puts("now have #{@students.count} student").center(75) : puts("now have #{@students.count} students").center(75) 

i had put string in brackets after puts otherwise come error:

syntax error, unexpected ':', expecting end-of-input 

however, since have updated code method .center isn't working , receiving error:

`input_students': undefined method `center' nil:nilclass (nomethoderror) 

how can around brackets?

problem applying call #center result of puts happens nil

@students.count < 2 ? puts("now have #{@students.count} student".center(75)) : puts("now have #{@students.count} students".center(75)) 

note: if student count 0, message reads "now have 0 student"

if want refactor extract common parts: centering , outputting

message = count < 2 ? 'message 1' : 'message 2' puts message.center(75) 

but result still result in long line (depending on message) use

message = if count < 2             'message 1'           else             'message 2'           end puts message.center(75) 

imho code needs readable not same short. when there lots of statements crammed 1 line.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -