Ruby �̔F�莎�������y���� Array#inject �� �킩��ɂ����Ƃ����b�����̂� �ȒP�ɂ܂Ƃ߂Ă݂����Ǝv���܂��B
Array#inject �͔z��̒l�����v�����肷��̂Ɏg����֗��ȃ��\�b�h�ł��B
$ irb irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum + i } => 10
�����I�ɂ͎��̂悤�ȏ����ɂȂ�܂��B
[1,2,3,4].inject(0) { | sum, i | sum + i }
`-------,
loop: 1 0, 1 0 + 1
~~|~~
,----------'
loop: 2 1, 2 1 + 2
~~|~~
,----------'
loop: 3 3, 3 3 + 3
~~|~~
,----------'
loop: 4 6, 4 6 + 4
~~|~~
`----> �o��
2�߂̃u���b�N�����ɂ͔z��̒l���͂���̂ł��� 1�߂̃u���b�N�����ɂ́A�O��̃��[�v�̍Ō�̏������ʂ�����܂��B
1���� (loop:1) ��1�߂̃u���b�N�����́A �O��̏������ʂ��Ȃ��̂ŁA�����l�Ƃ��� inject ���\�b�h�̈������ݒ肳��܂��B
�u���b�N�����킩��₷�������Ǝ��̂悤�ɂȂ�܂��B
irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum += i } => 10
�����܂ł͊ȒP�Ȃ̂ł����A���� inject ���\�b�h�� �������ȗ����邱�Ƃ��ł��܂��B ���̏ꍇ�̓������v���ӂł��B
��Ɠ����z��Ŏ����Ă݂܂��B
irb(main):001:0> [1,2,3,4].inject { | sum, i | sum + i }
=> 10
���ʂ͓����ł����B
�����ŁA�u���b�N���̏�����ς��Ă݂܂��B
irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum * i } => 0 irb(main):002:0> [1,2,3,4].inject { | sum, i | sum * i } => 24
�܂������قȂ錋�ʂɂȂ�܂����B
�܂��A����������ꍇ�̓������������Ă݂܂��B
[1,2,3,4].inject(0) { | sum, i | sum * i }
`-------,
loop: 1 0, 1 0 * 1
~~|~~
,----------'
loop: 2 0, 2 0 * 2
~~|~~
,----------'
loop: 3 0, 3 0 * 3
~~|~~
,----------'
loop: 4 0, 4 0 * 4
~~|~~
`----> �o��
���ɁA�������Ȃ��ꍇ�̓������������Ă݂܂��B
[1,2,3,4].inject { | sum, i | sum * i }
`--------------------,
loop: 1 1, 2 1 * 2
~~|~~
,----------'
loop: 2 2, 3 2 * 3
~~|~~
,----------'
loop: 3 6, 4 6 * 4
~~|~~
`----> �o��
���̂悤�� �����l�Ƃ��� �z��� 1�߂̒l�������Ă��܂��B �܂��A1���� (loop:1) �� �z��� 2�߂̒l�������Ă��܂��B ���[�v�̐��� 1���Ȃ��Ȃ�܂��B �������ȗ�����ƁA �z��� 1�߂̂�l�������l�Ƃ��ė��p����킯�ł��B
�܂�A���� 2�������ƂȂ�܂��B
irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum * i } => 0 irb(main):002:0> [0,1,2,3,4].inject { | sum, i | sum * i } => 0
Windows ���ɊȒP�� Ruby �̎��s�������t���[�\�t�g���Љ��Ă����̂� �����ɃC���X�g�[�����Ă݂܂����B
Windows�ŃX�N���v�g����gRuby�h�����邽�߂̘a���C���X�g�[���[�uRumix�v
�܂��A�ȉ��̃T�C�g���� Rumix ���_�E�����[�h���܂��B
Rumix - Ruby Starter Package with Installer
����������Ă��鎞�_�ł́u Rumix 1.00�i�ʏ�Łj�v�u Rumix 1.00�iruby 1.9.1�Łj �v�� ����܂����A�ǂ��炪�ǂ����킩��Ȃ��l�́u Rumix 1.00�i�ʏ�Łj�v�𗎂Ƃ��܂��傤�B
�_�E���[�h�����t�@�C�����𓀂��āA���̒��� rumix_install.exe �����s���܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u�C���X�g�[���v�{�^���������܂��B
�I���̂�҂��܂��B
�҂��܂��B
�҂��܂��B
����ŃC���X�g�[���͏I���ł��B
���� ruby �X�N���v�g������Ď��s�����Ă݂܂��B
�f�X�N�g�b�v�� test.rb �Ƃ����t�@�C��������� �e�L�X�g�G�f�B�^�� �X�N���v�g�������܂��B
puts 'hello world!'
�X�^�[�g���j���[����
�u NYACUS (�R�}���h���C���V�F��) �v���N�����܂��B
[d:\] $
NYACUS �� Linux �̃V�F���̑��삪�ł���֗��ȃc�[���ł��B
cd �� ls, pwd �Ȃǂ̃R�}���h���g���܂��B �E�B���h�E�Ƀh���b�O���h���b�v���ăp�X���w�肷�邱�Ƃ��ł��܂��B
[d:\] $ cd d:\desktop [d:\desktop] $ pwd d:\desktop
��قǏ������X�N���v�g�����s�����Ă݂܂��B
"ruby test.rb" �ł� ���ڎw��ł����s�����邱�Ƃ��ł��܂��B
�ȒP�� ruby �̃X�N���v�g�����s�ł���̂� Ruby �̎������Ȃǂɂ� �ƂĂ����ɗ����܂��B