irb -- interactive ruby $Release Version: 0.9.5 $ $Revision$ $Date$ by Keiju ISHITSUKA(keiju@ruby-lang.org) =begin = irb�Ȥ�? irb��interactive ruby��ά�Ǥ�. ruby�μ���ɸ�����Ϥ����ñ������/�¹Ԥ��� ����Υġ���Ǥ�. = ��ư % irb �ǹԤʤ��ޤ�. = �Ȥ��� irb�λȤ�����, Ruby�����ΤäƤ���Ф����äƴ�ñ�Ǥ�. ����Ū�ˤ� irb �� �������ޥ�ɤ�¹Ԥ�������Ǥ�. irb��¹Ԥ����, �ʲ��Τ褦�ʥץ���� �Ȥ�ɽ��Ƥ��ޤ�. ���, ruby�μ�������Ʋ�����. �������뤷�������Ǽ¹� ����ޤ�. dim% irb irb(main):001:0> 1+2 3 irb(main):002:0> class Foo irb(main):003:1> def foo irb(main):004:2> print 1 irb(main):005:2> end irb(main):006:1> end nil irb(main):007:0> �ޤ�, irb��Readline�⥸�塼��ˤ��б����Ƥ��ޤ�. Readline�⥸�塼�뤬 ���󥹥ȡ��뤵��Ƥ�����ˤ�, �����Ȥ��Τ�ɸ���ư��ˤʤ�ޤ�. = ���ޥ�ɥ��ץ���� irb.rb [options] file_name opts options: -f ~/.irbrc ���ɤ߹��ޤʤ�. -m bc�⡼��(ʬ��, ����η׻����Ǥ���) -d $DEBUG ��true�ˤ���(ruby -d ��Ʊ��) -Kc ruby -Kc��Ʊ�� -r load-module ruby -r ��Ʊ��. --verbose ���줫��¹Ԥ���Ԥ�ɽ������(�ǥե����) --noverbose ���줫��¹Ԥ���Ԥ�ɽ�����ʤ� --echo �¹Է�̤�ɽ������(�ǥե����) --noecho �¹Է�̤�ɽ�����ʤ� --inspect ��̽��Ϥ�inspect���Ѥ���(bc�⡼�ɰʳ��ϥǥե����). --noinspect ��̽��Ϥ�inspect���Ѥ��ʤ�. --readline readline�饤�֥������Ѥ���. --noreadline readline�饤�֥������Ѥ��ʤ�. �ǥե���Ȥ�ư���, inf-ruby-mode�ʳ���readline�饤�֥������Ѥ��褦 �Ȥ���. --prompt prompt-mode --prompt-mode prompt-mode �ץ���ץȥ⡼�ɤ����ؤ��ޤ�. �����������Ƥ���� ����ץȥ⡼�ɤ�, default, simple, xmp, inf-ruby�� �Ѱդ���Ƥ��ޤ�. �ǥե���Ȥ�default�ץ���ץȥ⡼ �ɤˤʤäƤ��ޤ�. --inf-ruby-mode emacs��inf-ruby-mode�ѤΥץ���ץ�ɽ����Ԥʤ�. �� �˻��꤬�ʤ��¤�, readline�饤�֥��ϻȤ�ʤ��ʤ�. --simple-prompt ���˥���ץ�ʥץ���ץȤ��Ѥ���⡼�ɤǤ�. --noprompt �ץ���ץ�ɽ����Ԥʤ�ʤ�. --tracer ���ޥ�ɼ¹Ի��˥ȥ졼����Ԥʤ�. --back-trace-limit n �Хå��ȥ졼��ɽ����Хå��ȥ졼����Ƭ���� n, ��� ����n�����Ԥʤ�. �ǥե���Ȥ�16 --irb_debug n irb�ΥǥХå��ǥХå���٥��n�����ꤹ��(���Ѥ��� ������̵��Ǥ��礦). -v, --version irb�ΥС�������ɽ������ = ����ե�����졼����� irb��ư����``~/.irbrc''���ɤ߹��ߤޤ�. �⤷¸�ߤ��ʤ�����, ``.irbrc'', ``irb.rc'', ``_irbrc'', ``$irbrc''�ν��load���ߤޤ�. ���ץ��������ꤹ�������, �ʲ��Υ��ޥ�ɤǤ�ǥե���Ȥ�ư������� �Ǥ��ޤ�. IRB.conf[:IRB_NAME]="irb" IRB.conf[:MATH_MODE]=false IRB.conf[:USE_TRACER]=false IRB.conf[:USE_LOADER]=false IRB.conf[:IGNORE_SIGINT]=true IRB.conf[:IGNORE_EOF]=false IRB.conf[:INSPECT_MODE]=nil IRB.conf[:IRB_RC] = nil IRB.conf[:BACK_TRACE_LIMIT]=16 IRB.conf[:USE_LOADER] = false IRB.conf[:USE_READLINE] = nil IRB.conf[:USE_TRACER] = false IRB.conf[:IGNORE_SIGINT] = true IRB.conf[:IGNORE_EOF] = false IRB.conf[:PROMPT_MODE] = :DEFALUT IRB.conf[:PROMPT] = {...} IRB.conf[:DEBUG_LEVEL]=0 IRB.conf[:VERBOSE]=true == �ץ���ץȤ����� �ץ���ץȤ򥫥����ޥ������������ˤ�, IRB.conf[:PROMPT] ���Ѥ��ޤ�. �㤨��, .irbrc����Dz��Τ褦�ʼ��򵭽Ҥ��ޤ�: IRB.conf[:PROMPT][:MY_PROMPT] = { # �ץ���ץȥ⡼�ɤ�̾�� :PROMPT_I => nil, # �̾�Υץ���ץ� :PROMPT_N => nil, # ��³�ԤΥץ���ץ� :PROMPT_S => nil, # ʸ����ʤɤη�³�ԤΥץ���ץ� :PROMPT_C => nil, # ������³���Ƥ�����Υץ���ץ� :RETURN => " ==>%s\n" # �꥿������Υץ���ץ� } �ץ���ץȥ⡼�ɤ���ꤷ�������ˤ�, irb --prompt my-prompt �Ǥ��Υץ���ץȥ⡼�ɤǵ�ư����ޤ�. �ޤ���, .irbrc�˲����򵭽Ҥ��Ƥ� OK�Ǥ�. IRB.conf[:PROMPT_MODE] = :MY_PROMPT PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_C��, �ե����ޥåȤ���ꤷ�ޤ�. %N ��ư���Ƥ��륳�ޥ��̾�����Ϥ����. %m main���֥�������(self)��to_s�ǽ��Ϥ����. %M main���֥�������(self)��inspect����ƽ��Ϥ����. %l ʸ������Υ����פ�ɽ��(", ', /, ], `]'��%w����λ�) %NNi ����ǥ�ȤΥ�٥��ɽ��. NN�Ͽ���������printf��%NNd��Ʊ��. �� ά��ǽ %NNn ���ֹ��ɽ���ޤ�. %% % �㤨��, �ǥե���ȤΥץ���ץȥ⡼�ɤ�: IRB.conf[:PROMPT_MODE][:DEFAULT] = { :PROMPT_I => "%N(%m):%03n:%i> ", :PROMPT_N => "%N(%m):%03n:%i> ", :PROMPT_S => "%N(%m):%03n:%i%l ", :PROMPT_C => "%N(%m):%03n:%i* ", :RETURN => "%s\n" } �ȤʤäƤ��ޤ�. RETURN��, ���ߤΤȤ���printf�����Ǥ�. ������ͤ��Ѥ�뤫���Τ�ޤ���. == ����irb������ ���ޥ�ɥ饤�󥪥ץ���󤪤��IRB.conf��(����)irb��ư���Υǥե���Ȥ� ���������Τ�, `5. ���ޥ��'�ˤ���conf�Ǹ��̤�(����)irb�����꤬�� ����褦�ˤʤäƤ��ޤ�. IRB.conf[:IRB_RC]��proc�����ꤵ��Ƥ����, ����irb��ư������ˤ��� proc��irb�Υ���ƥ����Ȥ�����Ȥ��ƸƤӽФ��ޤ�. ����ˤ�äƸ��̤Υ� ��irb���Ȥ�������Ѥ��뤳�Ȥ��Ǥ���褦�ˤʤ�ޤ�. = ���ޥ�� irb��ĥ���ޥ�ɤ�, ��ñ��̾����Ƭ��`irb_'��Ĥ���̾����ξ���������� ���ޤ�. �����, ��ñ��̾����override���줿���Τ���Ǥ�. --- exit, quit, irb_exit ��λ����. ����irb�ξ��, ���Υ���irb��λ����. --- conf, irb_context irb�θ��ߤ������ɽ������. ������ѹ���, conf�˥�å����������뤳 �Ȥˤ�äƹԤʤ���. --- conf.eval_history = N �¹Է�̤Υҥ��ȥ굡ǽ������. nn��������nil�� nn>0 �Ǥ���Ф��ο������ҥ��ȥ�ˤ���롣nn==0�λ��� ̵���¤˵������롢nil���ȥҥ��ȥ굡ǽ�Ϥ���(�ǥե����). --- Conf.back_trace_limit �Хå��ȥ졼��ɽ����Хå��ȥ졼����Ƭ����n, �������n�����Ԥʤ�. �ǥե���Ȥ�16 --- conf.debug_level = N irb�ѤΥǥХå���٥������ --- conf.ignore_eof = true/false ^D�����Ϥ��줿����ư������ꤹ��. true�λ���^D��̵�뤹��, false�� ����irb��λ����. --- conf.ignore_sigint= true/false ^C�����Ϥ��줿����ư������ꤹ��. false����, irb��λ����. true�� ����ư��ϰʲ��Τ褦�ˤʤ�: ������: ����ޤ����Ϥ�����Τ򥭥�󥻥뤷�ȥåץ�٥�����. �¹���: �¹Ԥ���ߤ���. --- conf.inf_ruby_mode = true/false inf-ruby-mode�ѤΥץ���ץ�ɽ����Ԥʤ�. �ǥե���Ȥ�false. --- conf.inspect_mode = true/false/nil ���󥹥ڥ��ȥ⡼�ɤ����ꤹ��. true: ���󥹥ڥ��Ȥ���ɽ������. false: �̾��print��ɽ������. nil: �̾�⡼�ɤǤ����, inspect mode�Ȥʤ�, math�⡼�ɤλ���, non inspect mode�Ȥʤ�. --- conf.math_mode ���ȤΤ�. bc�⡼��(ʬ��, ����η׻����Ǥ��ޤ�)���ɤ���? --- conf.use_loader = true/false load/require����irb��file�ɤ߹��ߵ�ǽ���Ѥ���⡼�ɤΥ����å�(�ǥե� ��Ȥ��Ѥ��ʤ�). ���Υ⡼�ɤ�IRB���Τ�ȿ�Ǥ����. --- conf.prompt_c if��ľ��ʤ�, �Ԥ���³���Ƥ�����Υץ���ץ�. --- conf.prompt_i �̾�Υץ���ץ�. --- conf.prompt_s ʸ������ʤɤ�ɽ���ץ���ץ�. --- conf.rc ~/.irbrc���ɤ߹�������ɤ���? --- conf.use_prompt = true/false �ץ���ץ�ɽ�����뤫�ɤ���? �ǥե���ȤǤϥץ���ץȤ�ɽ������. --- conf.use_readline = true/false/nil readline��Ȥ����ɤ���? true: readline��Ȥ�. false: readline��Ȥ�ʤ�. nil: (�ǥե����)inf-ruby-mode�ʳ���readline�饤�֥������Ѥ��� ���Ȥ���. # #--- conf.verbose=T/F # irb���餤�������ʥ�å���������Ϥ��뤫? --- cws, chws, irb_cws, irb_chws, irb_change_workspace [obj] obj��self�Ȥ���. obj����ά���줿�Ȥ���, home workspace, ���ʤ�� irb��ư�����Ȥ���main object��self�Ȥ���. --- pushws, irb_pushws, irb_push_workspace [obj] UNIX�����륳�ޥ�ɤ�pushd��Ʊ��. --- popws, irb_popws, irb_pop_workspace UNIX�����륳�ޥ�ɤ�popd��Ʊ��. --- irb [obj] ����irb��Ω��������. obj�����ꤵ�줿����, ����obj��self�Ȥ���. --- jobs, irb_jobs ����irb�Υꥹ�� --- fg n, irb_fg n ���ꤷ������irb�˥����å�����. n��, ���Τ�Τ���ꤹ��. irb�ֹ� ����å� irb���֥������� self(irb obj�ǵ�ư��������obj) --- kill n, irb_kill n ����irb��kill����. n��fg��Ʊ��. --- souce, irb_source path UNIX�����륳�ޥ�ɤ�source�Ȼ��Ƥ���. ���ߤδĶ����path��Υ����� �ץȤ�ɾ������. --- irb_load path, prev Ruby��load��irb��. = �����ƥ��ѿ� --- _ ���η׻��μ¹Է�̤�Ф��Ƥ���(���������ѿ�). --- __ �¹Է�̤������Ф��Ƥ���. __[line_no]�ǡ����ιԤǼ¹Ԥ�����̤����뤳�Ȥ��Ǥ���. line_no����� ���ˤϡ��ǿ��η�̤���-line_no���η�̤����뤳�Ȥ��Ǥ���. = ������ �ʲ��Τ褦�ʴ����Ǥ�. dim% ruby irb.rb irb(main):001:0> irb # ����irb��Ω������ irb#1(main):001:0> jobs # ����irb�Υꥹ�� #0->irb on main (# : stop) #1->irb#1 on main (# : running) nil irb#1(main):002:0> fg 0 # job�Υ����å� nil irb(main):002:0> class Foo;end nil irb(main):003:0> irb Foo # Foo�򥳥�ƥ����Ȥ���irb # Ω������ irb#2(Foo):001:0> def foo # Foo#foo����� irb#2(Foo):002:1> print 1 irb#2(Foo):003:1> end nil irb#2(Foo):004:0> fg 0 # job�򥹥��å� nil irb(main):004:0> jobs # job�Υꥹ�� #0->irb on main (# : running) #1->irb#1 on main (# : stop) #2->irb#2 on Foo (# : stop) nil irb(main):005:0> Foo.instance_methods # Foo#foo������������� # ��Ƥ��� ["foo"] irb(main):006:0> fg 2 # job�򥹥��å� nil irb#2(Foo):005:0> def bar # Foo#bar����� irb#2(Foo):006:1> print "bar" irb#2(Foo):007:1> end nil irb#2(Foo):010:0> Foo.instance_methods ["bar", "foo"] irb#2(Foo):011:0> fg 0 nil irb(main):007:0> f = Foo.new # irb(main):008:0> irb f # Foo�Υ��󥹥��󥹤�irb�� # Ω��������. irb#3(#):001:0> jobs #0->irb on main (# : stop) #1->irb#1 on main (# : stop) #2->irb#2 on Foo (# : stop) #3->irb#3 on # (# : running) nil irb#3(#):002:0> foo # f.foo�μ¹� nil irb#3(#):003:0> bar # f.bar�μ¹� barnil irb#3(#):004:0> kill 1, 2, 3# job��kill nil irb(main):009:0> jobs #0->irb on main (# : running) nil irb(main):010:0> exit # ��λ dim% = ���Ѿ������ irb��, ɾ���Ǥ������(�����Ĥ�������)�Ǥ��༡�¹Ԥ�Ԥʤ��ޤ�. �������� ��, ruby��ľ�ܻȤä�����, �㴳�ۤʤ�ư���Ԥʤ���礬����ޤ�. �������餫�ˤʤäƤ������������������ޤ�. == ���������ѿ������ ruby�Ǥ�, �ʲ��Υץ������ϥ��顼�ˤʤ�ޤ�. eval "foo = 0" foo -- -:2: undefined local variable or method `foo' for # (NameError) --- NameError �Ȥ�����, irb���Ѥ���� >> eval "foo = 0" => 0 >> foo => 0 �Ȥʤ�, ���顼�򵯤����ޤ���. �����, ruby���ǽ�˥�����ץ����Τ򥳥� �ѥ��뤷�ƥ��������ѿ�����ꤹ�뤫��Ǥ�. ������Ф�, irb�ϼ¹Բ�ǽ�� �ʤ�(�����Ĥ���)�ȼ�ưŪ��ɾ�����Ƥ��뤫��Ǥ�. �嵭����Ǥ�, evel "foo = 0" ��Ԥʤä�������ɾ����Ԥʤ�, ���λ������ѿ����������뤿��, ������ �ѿ�foo���������Ƥ��뤫��Ǥ�. ���Τ褦��ruby��irb��ư��ΰ㤤���褷��������, begin...end�dz�ä� �Хå�Ū�˼¹Ԥ��Ʋ�����: >> begin ?> eval "foo = 0" >> foo >> end NameError: undefined local variable or method `foo' for # (irb):3 (irb_local_binding):1:in `eval' == �ҥ��ɥ������ ���ߤΤȤ����ҥ��ɥ�����Ȥμ������Դ����Ǥ�. == ����ܥ� ����ܥ�Ǥ��뤫�ɤ�����Ƚ�Ǥ�ְ㤨�뤳�Ȥ�����ޤ�. ����Ū�ˤϼ�����λ ���Ƥ���Τ˷�³�Ԥȸ��ʤ����Ȥ�����ޤ�. =end % Begin Emacs Environment % Local Variables: % mode: text % comment-column: 0 % comment-start: "%" % comment-end: "\n" % End: %