Could someone please clarify why do we use unless in the following lines respectively?

```
unless n.is_a? Integer
return "n must be an integer."
end
```

Here is what I understand from the above code : UNLESS n is an integer, it will return "n must be an integer", i.e. given that n is an integer, it **will not** return "n must be an integer". Or given that if n = a (an alphabet), it will return "n must be an integer" which obviously is not, since alphabet is not an integer.

```
if n <= 0
return "n must be greater than 0."
end
```

Likewise, here is what I understand from the above code : if n is smaller or equal than 0, it will return "n must be greater than 0". So say if n = - 1 (which is obviously smaller than 0), but according to the code, it will return "n must be greater than 0" (obviously -1 is not).

Aforementioned code are very contradicting at least from my understanding. This has been really bothering me. I think I might have misunderstood something or my understanding in this topic is limited. I hope someone can enlighten me preferably in a simple way as I am new to coding.

```