�I�[�v���\�[�X�̃I�u�W�F�N�g�w���v���O���~���O����uRuby�v�̕��@���ꂩ��w�Ԃ��߂̓���A�ځB�ŐV�ł�2.1�ɑΉ����Ă��܂��B����́AArray�̊�{����A�X�^�b�N�^�L���[�Ƃ��Ă̎g�����A���܂��܂ȃ��\�b�h�AHash�̊�{�I�Ȏg�����A�A�z�z��̂��낢��ȏ��������@�Ȃǂɂ��āB
�@�O��̘A�ڑ�2��L���uRuby 2.1�̊�{�\���^��{���@�܂Ƃ߁�Pry�̎g�����v�ł́ARuby�̊�b�Ƒ肵�āA�ϐ��ƃI�u�W�F�N�g�A�萔�A���e�����A���Ɖ��Z�q�A����\���ɂ��āA��v�Ȃ��̂��w�K���܂����B�����܂ł̘A�ڂŁARuby�̊�{�I�ȃv���O������������悤�ɂȂ����Ǝv���܂��B
�@����͐���ɕ����āARuby�̑g�ݍ��݃��C�u�����ɂ��āA������Ƃ����X�N���v�g�������Ȃ��������Ă����܂��B�ǂݏI���������ɂ́A���C�u�������g���Ă��܂��܂ȃv���O������������悤�ɂȂ��Ă��邱�Ƃł��傤�B���X�̍�Ƃ̎������ȂǂɁA���Ђ��𗧂Ă��������B
�@�g�ݍ��݃��C�u������Ruby�{�̂Ɋ܂܂�Ă��邽�߁A���ɉ����ӎ����邱�ƂȂ��A�����Ɏg���܂��B
�@����́AArray�N���X��Hash�N���X�Ȃǁu�z��v�u�R���e�i�[�v�u�R���N�V�����v�u�X�^�b�N�v�u�L���[�v�u�A�z�z��v�u�n�b�V���i�e�[�u���j�v��\��������̂ɂ��Đ������܂��B
�{�A�ڂ�Ruby 2.1�v���O���~���O�̓���A�ڂł��BRuby on Rails�ɂ��Ċw�т������͘A�ځu�J������ł����Ǝg����Rails 4�����v���������������B
�@Array�N���X�i�ȉ��uArray�v�Ɨ��L�j�́A�����炭Ruby�ōł��悭�g����u�R���e�i�[�v�i�����̃f�[�^���W�߂ĊǗ����邽�߂̃N���X�B�u�R���N�V�����v�Ƃ��Ăԁj�ł��傤�B�P���Ɂu�z��v�ƌĂԂ��Ƃ�����A�����I�ɂ�C����̉e����������ł����Ƃ���̔z��Ǝ��Ă��܂��B
�@�����ł́A�O�l�Apry���g����Array�̊�{������w�т܂��B�܂��͈ȉ��̃R�}���h����͂��āApry���N�����܂��傤�B
$ pry
�@�܂��́A���Array�I�u�W�F�N�g������Ă݂܂��B
[1] pry(main)> array = [] => []
�@�ȉ��̂悤�ɂ��ċ��Array�I�u�W�F�N�g����邱�Ƃ��ł��܂��B
[2] pry(main)> array = Array.new => []
�@������̏ꍇ���߂�l�͋��Array�I�u�W�F�N�g�ł��B�ǂ���̋L�@���g�����́A���Ȃ����g�̍D�݂�v���W�F�N�g�̊��K�ɏ]���̂��ǂ��ł��傤�B
�@�����āA�V�����I�u�W�F�N�g��Array�I�u�W�F�N�g�ɒlj����Ă݂܂��B
[3] pry(main)> array.push(1) => [1] [4] pry(main)> array << 2 => [1, 2] [5] pry(main)> array << "3" => [1, 2, "3"]
�@�uArray#push�v�́AArray�I�u�W�F�N�g�ɐV�����I�u�W�F�N�g��lj����邽�߂̃��\�b�h�ł��B�܂��A3�s�ڂ̂悤�ɁA�u<<�v���Z�q���g���ăI�u�W�F�N�g��lj����邱�Ƃ��ł��܂��B�D�݂̕������Ƃ���ł����A�M�҂̌o����ł́A<<���Z�q���g���P�[�X�̕��������悤�ł��B
�@1�s�ڂ�3�s�ڂŒlj������I�u�W�F�N�g��1�A2�Ƃ����������ł����A5�s�ڂŒlj������I�u�W�F�N�g��"3"�Ƃ���������ł��B���̂悤�ɁARuby�̔z��ɂ͍D���Ȍ^�̃f�[�^��lj��ł��܂��B�z��Ɋ܂܂�Ă���I�u�W�F�N�g�S�Ă������^�ł���K�v�͂���܂���B
�@Ruby�ł́A�Ⴆ��Array�N���X��push���\�b�h��\�����邽�߂ɁAArray#push�Ƃ�����������������̂�����ƂȂ��Ă��܂��B���̘A�ڂɂ����Ă��A���̃��[���ɕ���ĕ\�����܂��B
�@�܂��A�v�f�����擾���邽�߂ɂ�Array#length�A��������Array#size���g���܂��B
[6] pry(main)> array.length => 3 [7] pry(main)> array.size => 3
�@�ł́AArray�I�u�W�F�N�g�Ɋ܂܂��f�[�^�Ɏ��ۂɃA�N�Z�X���Ă݂܂��傤�BC����̉e����������̂悤��[]�i�p�J�b�R�j���g�����AArray#at��p���ăI�u�W�F�N�g�����o�����Ƃ��ł��܂��B�p�J�b�R���g���������R�ł��B
[8] pry(main)> array[0] => 1 [9] pry(main)> array.at(1) => 2 [10] pry(main)> array[5] => nil
�@Array�I�u�W�F�N�g�̃C���f�b�N�X��0����n�܂�A�����͈͊O�̃C���f�b�N�X���w�肵���ꍇ��nil���Ԃ��Ă��܂��B
�@�܂��A�C���f�b�N�X�ɕ��̐����g���ƁA�u��납�琔����n�Ԗځv�̃I�u�W�F�N�g�����o���܂��B
[11] pry(main)> array[-1] => "3" [12] pry(main)> array[-2] => 2 [13] pry(main)> array[-3] => 1
�@�C���f�b�N�X�Ƃ���-1���w�肷��ƁA�z��̍Ō���ɂ���"3"�Ƃ����I�u�W�F�N�g���擾�ł��܂��B-2���w�肷��ƁA"3"�̑O�Ɉʒu����2���擾�ł��A���l��-3���w�肷���1���擾�ł��܂��B
�@�܂��A�ȉ��̂悤�ɏ����ƁA�͈͂��w�肵�ăI�u�W�F�N�g�����o�����Ƃ��ł��܂��B
[14] pry(main)> array [1..2] => [2, "3"]
�@�I�u�W�F�N�g����菜�����߂ɂ́AArray#delete�A��������Array#delete_at���g���܂��B�����̃��\�b�h�̖߂�l�́A�폜���ꂽ�v�f���̂��̂ł��B
�@Array#delete��Array�I�u�W�F�N�g���������AArray#delete�̈����Ɠ������I�u�W�F�N�g����菜���܂��B
�@Array#delete_at�́A�����Ɏw�肳�ꂽ�C���f�b�N�X�̗v�f����菜���܂��B
[15] pry(main)> array.delete(1) => 1 [16] pry(main)> array.delete_at(0) => 2
�@�����ŁA����Array�I�u�W�F�N�g�Ɋ܂܂�Ă���I�u�W�F�N�g���m�F���Ă݂܂��傤�B
�@�uarray.delete(1)�v�ɂ����1����菜����A�uarray.delete_at(0)�v�ɂ���āA[2, "3"]��0�Ԗڂ̃I�u�W�F�N�g�A���Ȃ킿2����菜���ꂽ�̂ŁA�c�����̂�"3"�����ɂȂ�܂��B
[17] pry(main)> array => ["3"]
�@Array�I�u�W�F�N�g�Ɋ܂܂�Ă���I�u�W�F�N�g��S�Ď�菜�������Ƃ��́AArray#clear���g���܂��B
[18] pry(main)> array.clear => [] [19] pry(main)> array => []
Copyright © ITmedia, Inc. All Rights Reserved.