What do ? and ! mean?!


What to ? and ! mean at the end of the functions and sometimes at the end of various statements? What does !something.empty? and why don't you write ¡empty! anyway? That would at least make sense...