[Ruby] !와 ?

[원본 링크]

λ£¨λΉ„μ—μ„œλŠ” λ©”μ„œλ“œ 이름을 λŠλ‚Œν‘œ(!)와 λ¬ΌμŒν‘œ(?)둜 λλ‚˜κ²Œ ν•  수 μžˆλ‹€. 쀑간에 λ“€μ–΄κ°€μ§„ λͺ»ν•œλ‹€.

뭐 이게 λŒ€λ‹¨ν•œ κΈ°λŠ₯을 ν•˜λŠ”κ±΄ μ•„λ‹ˆκ³ , ν‘œμ‹œλ§Œ ν•΄μ£ΌλŠ”κ±°λ‹€.

일단 !λŠ” ν•΄λ‹Ή 객체가 λ°”λ€” 수 μžˆλ‹€κ³  κ²½κ³ ν•΄μ£ΌλŠ” 역할을 ν•œλ‹€. 같은 μ΄λ¦„μ΄λ©΄μ„œ !와 !κ°€ μ•„λ‹Œ 버전이 μžˆλ‹€λ©΄, !κ°€ μ•ˆλΆ™μ€ λ©”μ„œλ“œλŠ” λ‹¨μˆœνžˆ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜κΈ°λ§Œ ν•˜κ³  객체λ₯Ό λ°”κΎΈμ§„ μ•ŠλŠ”λ‹€. !κ°€ 뢙은 버전은 객체λ₯Ό μˆ˜μ •ν•œλ‹€.
이건 μΌμ’…μ˜ κ΄€λ‘€λ‹€.

μ •μˆ˜λ₯Ό ν‘œν˜„ν•˜λŠ” 클래슀 Numberλ₯Ό λ§Œλ“€κ³  값을 1 μ¦κ°€μ‹œν‚€λŠ” λ©”μ„œλ“œ incλ₯Ό κ΅¬ν˜„ν•œλ‹€λ©΄ μ•„λž˜μ™€ 같이 ν•  수 μžˆλ‹€. image

image

?도 λ§ˆμ°¬κ°€μ§€λ‹€. ?λŠ” κ·Έλƒ₯ 질문용 λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν• λ•Œ μ“΄λ‹€.
λ”°λΌμ„œ 값이 0인지 ν™•μΈν•˜λŠ” λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν•œλ‹€λ©΄ μ•„λž˜μ™€ 같이 λ§Œλ“œλŠ” 것이 λ°”λžŒμ§ν•˜λ‹€. image