�I�[�v���\�[�X�̃I�u�W�F�N�g�w���v���O���~���O����uRuby�v�̕��@���ꂩ��w�Ԃ��߂̓���A�ځB�ŐV�ł�2.1�ɑΉ����Ă��܂��B����́AKernel���W���[���ɒ�`����Ă����ȓ��o�̓��\�b�h�Ƃ���print�Aputs�Aprintf�Agets�AFile/IO�N���X�ASTDOUT�ASTDIN�̎g�����A�t�B���^�[�̍����Ȃǂ�����B
�{�A�ڂ�Ruby 2.1�v���O���~���O�̓���A�ڂł��BRuby on Rails�ɂ��Ċw�т������͘A�ځu�J������ł����Ǝg����Rails 4�����v���������������B
�@�O��́uRuby�̗�O�Ƃ��̕ߑ��\�\��{��begin�`rescue�`end����ensure�Aelse�Aretry�A��urescue�܂��v�ł́A�I�u�W�F�N�g�w������ł̓|�s�����[�Ȏd�g�݂ł���A��O�Ƃ��̕ߑ��Ƃ������g�s�b�N�ɂ��ĉ�����܂����B��O�����܂��������ƂŁA�t�@�C�������݂��Ȃ��ꍇ��AHTTP�ʐM�Ńf�[�^���擾�ł��Ȃ��ꍇ�ȂǂɓK�ɑΏ��ł���v���O�������������Ƃ��ł��܂��B
�@�A�ڑ�10��ɓ����鍡��́A�f�[�^�̓��o�͂ɂ��ĉ�����܂��BRuby�ł͓��o�́A������I/O���V���v���Ɉ������Ƃ��ł��܂��B���C�Ȃ��g���Ă����uputs�v���W���o�͂Ƀf�[�^�𗬂����߂̗��h�ȃ��\�b�h�ł����AIO�N���X�𗘗p���邱�ƂŁA�t�@�C���̓��o�͂��\�ł��B
�@����܂ł̘A�ڂŁuputs�v���\�b�h�𗘗p���ă^�[�~�i���ɕ������\�����A�u��ʂɕ�����\������v�ƕ\�����Ă��܂����B����́A�u�W���o�͂ɕ�������o�͂���v�ƌ����������������ł��傤�B
�@���Ɉӎ�������Ruby�X�N���v�g�𗬂��A�W���o�͂ɏo�͂��ꂽ�����̓^�[�~�i���ɕ\������܂��B�������Abash�₻��ɏ�����V�F�����g���Ă���Ȃ�A�ȉ��̂悤��Ruby�X�N���v�g�����s����ƁA�W���o�͂��t�@�C���ɏ����o����܂��B
$ ruby -e "puts 'pyon'" > rabbit.txt $ cat rabbit.txt
�@ruby�R�}���h�Ɂu-e�v�Ƃ����I�v�V�����ƕ�����i�����ł́uputs 'pyon'�v�j��^����ƁA������Ruby�C���^�v���^�ɂ���ăX�N���v�g�Ƃ��Ď��s����܂��B�܂��A�u> rabbit.txt�v�́A�W���o�͂ɏo�͂��ꂽ�������t�@�C���i�����ł�rabbit.txt�j�ɑ��邽�߂̋L�@�ł��B
�@��q�̈�A�̃R�}���h�����s����ƁA�uputs�v�����s���Ă���ɂ�������炸�A�^�[�~�i���ɂ͉����\������܂���B���̑���ɁA�ucat�v�R�}���h��rabbit.txt�̓��e���^�[�~�i���ɗ����ƁA�upyon�v�Əo�͂���Ă��邱�Ƃ�������ł��傤�B
�@���̕ӂ�̘b����������Ɨ������邽�߂ɂ́A�uUNIX�̕W�����o�͂ƃ��_�C���N�V�����v���Q�l�ɂȂ�ł��傤�B�M�҂�Windows�ɏڂ����Ȃ����ߐ��m�Ȃ��Ƃ͌����܂��A�����炭Windows�ɂ������悤�Ȏd�g�݂�����Ǝv���܂��B
�@�����ł́AKernel���W���[���ɒ�`����Ă�����o�̓��\�b�h�̂����A�悭�g������̂��������Љ�܂��傤�B
�@�uprint�v���\�b�h�́A�ł���{�I�ȏo�̓��\�b�h�̈�ł��B�����ɗ^����ꂽ�������W���o�͂ɗ����܂��B�Ԃ�l��nil�ł��Bpry���N�����ē�����m���߂Ă݂܂��傤�B
[1] pry(main)> print "Alice" Alice=> nil
�@�uputs�v���\�b�h���uprint�v�Ɠ��l�ɍł���{�I�ȏo�̓��\�b�h�̈�ł��B�����ɗ^����ꂽ�������W���o�͂ɗ����܂����A�uprint�v�ƈ���čŌ�ɉ��s���s���܂��B
[2] pry(main)> puts "Alice" Alice => nil
�@�uprintf�v���\�b�h�́AC����ɂ�����uprintf�v�̂悤�ɁAsptintf�t�H�[�}�b�g�Ɋ�Â����͂ȏ����t���o�͂��s�����߂̃��\�b�h�ł��B�o�͂��s�킸�ɒP�ɏ����K�p�ς݂̕���������ꍇ�́A�usprintf�v���\�b�h���g���܂��B
�@�ڍׂȋL�@�ɂ��ẮARuby�����́usprintf�t�H�[�}�b�g�v���������������B�����ł́A�ȒP�ȗ���Љ��ɂƂǂ߂܂��B
[4] pry(main)> printf("%.2f", 3.14159) 3.14=> nil [5] pry(main)> printf("%#b", 42) 0b101010=> nil [6] pry(main)> printf("%+d %d", 42, 42) +42 42=> nil
�@�uprintf�v�̑�1�����Ƀt�H�[�}�b�g���A��2�����ȍ~�ɁA�\���������I�u�W�F�N�g�������܂��B[4]�ł͏����_�ȉ��̐��x��2���ɂƂǂ߂�悤�ȏ�����ݒ肵�Ă��܂��B
�@�܂�[5]�ł́A42�Ƃ���������2�i���ŏo�͂��Ă��܂��B[6]�͐������t���ŕ\������ꍇ(`%+d`)�ƁA���ɏ����w��Ȃ��ɕ\������ꍇ�u%d�v����x�ɕ\������悤�ȃp�^�[���ł��B
�@�ugets�v���\�b�h�́A���[�U�[�ɂ���ăL�[�{�[�h������͂��ꂽ������邽�߂ɂ悭�g���܂��Bio01.rb�Ɂugets�v�̗��p��������܂��傤�B
print "please input a string here > " p gets
$ ruby io01.rb please input a string here > Alice↵ "Alice\n"
�@io01.rb�����s����ƁA���߂Ɂuplease input a string here > �v�Ƃ��������\������A���[�U�[�̓��͂�҂��܂��B���s��ł́uAlice�v�Ɠ��͂��ăG���^�[�L�[�������Ă��܂��B����ƁA���s���ʂ�2�s�ڂ̂悤�Ɂup�v���\�b�h�����[�U�[�̓��͂������e����ʂɕ\�����܂��B
�@�����ŁA�ugets�v���\�b�h�ɂ���ē���������ɂ͉��s�i\n�j���܂܂�Ă��邱�Ƃɒ��ӂ��Ă��������B�������������T�^�I�ȕ��@�Ƃ��āA�uString#chomp�v���\�b�h������܂��B
print "please input a string here > " p gets.chomp
$ ruby io02.rb please input a string here > Alice "Alice"
�@�����ŁA�e�L�X�g�t�@�C����W�����͂Ƃ��Ďg�����ꍇ�̓�����ώ@���Ă݂܂��傤�B�ȉ��̂悤�ȓ��e�����Awonderland.txt�Ƃ����e�L�X�g�t�@�C�����쐬���Ă��������B
Alice White Rabbit Cheshire Cat March Hare
�@�ł́Aio02.rb��wonderland.txt����͂��Ă݂܂��傤�B
$ ruby io02.rb < wonderland.txt please input a string here > "Alice"
�@wonderland.txt��4�s�̕����琬���Ă���A�ugets�v�����ނ̂͏��߂ɉ��s���o�ꂷ��Ƃ���܂łł��B����ł́A�����s�̓��͂����������ꍇ�ɍ���܂��B���́A�ugets�v�����܂��g���Ε����s�̓��͂������܂��B
while line = gets puts "** #{line.chomp} **" end
$ ruby io03.rb < wonderland.txt ** Alice ** ** White Rabbit ** ** Cheshire Cat ** ** March Hare **
�@io03.rb�ł́Awhile���[�v�̂��т�1�s���W�����͂�ǂݍ��݁A�ϐ�line�ɑ�����Ă��܂��B���̖͂��[�iEOF�FEnd of File�j�ɒB����Ɓugets�v��nil��Ԃ����߁A�uline = gets�v�̕]���l��nil�ƂȂ�A����while���[�v���I�����܂��B
Copyright © ITmedia, Inc. All Rights Reserved.