���³�������������돪�²¼���������������Ï�����������µ������������������������������������������¹��¡�
def presence self if present? end
present? \���\½\���\��������������������Ï��������������Ώ����я�����������¹\��� blank? ���������ď��Ð������\���\½\���\��� (!blank?) ���������¹��¡�
��������������������¡�nil, false, [](����؏����只��), {}(�����\���\���\·\���), ""(����؏�����»��⏪��), " "(���¾³���\¹\��⏢�¼\¹���������ޏ���������»��⏪��)�����������������Ð false��¡��½�������돪�³�돢���������������Ð true ���������������������������¹����blank? ���������������¾³���\¹\��⏢�¼\¹���������ޏ���������»��⏪�я����� true ���������½���������¹�����������������������������������·�����ď��폢����¡�
��������¡��³������ presence \���\½\���\��������������������Ï��������� present? \���\½\���\������������¾²������·������·���²������� true �����������������Ð self �����ҏ�¡��µ���ޏ��������Ð nil �����ҏ����ӏ��·���������¹��¡��³�����я�����������������¡�
"foo".presence #=> "foo" [].presence #=> nil " ".presence #=> nil
���³������������²��ď��̡���ҏ��·�������������«�����������������������Ï�������¡��³�����Ï����������Ï��������ҏ��¹���������������½��Џ��ޏ����������я��������¹��������������¡�
# ���³�����Ï����������Ï������̏��� name = params[:name].present? ? params[:name] : '���¾���µ���·' # presence������»��������Ï��������³�����Ï�����������������!! name = params[:name].presence || '���¾���µ���·'
�����������á돫������������� Object#try \���\½\���\������������¹��¡��³������������ ActiveSupport 2.3 ���«���������³�����Џ��µ���������������·�����ď�¡�
»²¹�����¡�http://guides.rubyonrails.org/2_3_release_notes.html
���³��������������¡�user.name ���������·�����ď�������������������� user.try(:name) �����Ώ����ď��������������·������»������������������¹��¡�
�����������������Ï�����������¡�¼��������� user.name ���������·�����ď�������������� user ���� nil ������¾���¹������̏����������������������������������������¹���«��¡��½�����Ï����������Ï�������������������� nil.name ������������������ NoMethodError ���������������������������·�����������Ï���������\���\��\���\������̏���̏���ߏ��������������ޏ��������¹���̏�¡�Object#try \���\½\���\���������»�����𡯏��Ð���¹���������������½��Џ��������³���������̏�����������������¹��¡�
# ���³�����Ï����������Ï������̏��� user ? user.name : '���¾���µ���·' # try\���\½\���\���������»��������Ï��������³�����Ï�����������������!! user.try(:name) || '���¾���µ���·'
���³��������¡�¼�������������ޏ����������� Object#send \���\½\���\��������� alias ��������¡�²�����𡯏����� NilClass#try \���\½\���\������̏�����µ������µ���������������������¹��¡����ď����������ď��³���������������ޏ��������¹���̡돪�³�돢���������������̏����������я��������¹��������¡�
class NilClass def try(*args) nil end end
�����������������Ï��³��������������¡�Object#presence \���\½\���\��������� Object#try \���\½\���\������������·�����ď�¡�����������»�����������������ޏ�������¡�������������µ������\���\��\���\������¹��������������������� Object#presence \���\½\���\��������ҏ�¡�\���\½\���\���������������½Ð���·������������ Object#try \���\½\���\���������»��������Ï���������������������������\³���¼\��������ҏ��¹������������������µ���»���������·�����������Ï��� (������Ρ�����)