title=RubyѸ콸


=== A


: AWK
  (A)磻С(W)˥ϥ(K)ˤ
  Υץȸ졣

=== B


: blade
  ml archive ([[url:http://blade.nagaokaut.ac.jp/ruby/]])

=== C


: Coerce
  ͤηѴԤ᥽åɡͷ׻Υ᥽åɤϼʬΤ
  󥹥󥹤ȤϤ줿ˤcoerce
  ᥽åɤȤäѴԤ褦˼Ƥ롣
  coerce᥽åɤϰȤͿ줿(Ѵ
  )ȼʬ(ɬפʤѴ)Υڥ֤

  RubyΥ饤֥οͷѴ

            Fixnum -> Bignum -> Rational -> Float -> Complex

  ˤʤäƤ롣

=== D


: Data
  C٥Υݥ󥿤Ruby֥ȤȤƸ뤿Υåѡ
  Cݥ󥿤ȡmarkؿfreeؿ롣CȤäRuby˵ǽ
  ɲä褦ȤͤϤҤΥ饹λȤޥɬ
  פ롣դˤȤͽΤʤͤˤѻʤ饹
  Ǥ⤢롣

: defined?
  ʤ()Ƥ뤫ɤĴ٤Ƥ
  黻ҡƤʤnilƤ
  Фμμ̤򼨤ʸ֤defined?
  ᥽åɤΤ褦ˤߤ뤬RubyʸˡȤ߹ޤ줿黻Ҥǡ
  ɾԤʤä
//emlist{
            defined? print("abc\n")
//}
  ϤʤˤϤʤ

=== E


: Eiffel
  ֥Ȼظץߥ󥰸졣matzΤθκԤ
  (Object-oriented Software Construction ˮ֥֥
  ظ)ɤܤڤ餷γˤRuby
  Eiffel˻ƤʤƤΤϥ֥åend
  ȤȡrescueȤͽ

: end
  ֥å¤򽪤ͽ졣פˤRubyǽ˸
  ͤ33%򸫤PascalϢۤȤ()º
  ˤbeginФˤʤʤηPascalȤAdaEiffel
  ˶ᤤ

  RubyCPerlǴƤ {}Ȥʤä
  ϰʲͳǤ

  * ñʸʣʸβ

    ȤCǤ
//emlist{
              if (a==b)
                 c();
//}
    ʸɲä褦Ȥ
//emlist{
              if (a==b)
                 c();
                 d();
//}
    ʤɤȤȤ䤳Хθˤʤ롣Pascalˤ¸
    ߤ롣

  * ֤餵elseβ

    嵭
//emlist{
              if (a==b)
                 if (c==d) foo();
              else bar();
//}
    ʤɤȽ񤤤ƤޤݤʤȤˤʤ롣Υץϼ¤
//emlist{
              if (a==b) {
                 if (c==d) foo();
                 else bar();
              }
//}
    Ȥ̣Ǥ롣

  * θ

    Ϥ褦endȤñǥ֥åĤץ
    बɤߤ䤹ȹͤƤͤ롣

  * begin, caseιʸ

    ľȡmatzendȤ̾ѿȤȤˤܤ
    äȤ٤롣ǡ٤ { }Ȥ
    ʸˡˤ褦ȸƤbegincase
    ʸˡ줤ˤޤȤޤ餺ǰ¤򤤤Ȥ줬
    ͳǤäꤹ롣


: ENV
  Ķѿ򥢥뤿[[c:Hash]]
  Ʊͤư򤹤륪֥ȡºݤˤðۥ᥽åɤղä
  [[c:Object]]饹Υ
  󥹤Ǥ롣Υ֥Ȥˤä
  Ķѿѹȡ
  RubyλҥץˤѤ롣


=== F


: FAQ
: Frequently Asked Questions
  褯Ȥ
  [[unknown:Ruby FAQ]]ϤޤޤȯŸӾǤ롣Ͽ罸档


=== G


: goto
  RubyˤʤΡgotoʤΤϤ줬֤٤ǤʤפǤϤʤ
  ּΤݤäפǤ롣
  gotocatch/throw㳰Ǽ¸롣

=== H
=== I
=== J


: JARH
: Just another Ruby hacker,

=== K
=== L
=== M


: main
  ȥåץ٥Ǥself
  selfʤ櫓ˤϤʤΤǡˤ
  ñʤObject饹Υ󥹥󥹤Ǥ뤬
  Object饹뤿ᡢĤðۥ᥽åɤ
  롣

  Ƥðۥ᥽å

  * private

  * public

  * include


: matz
  RubyκԡޤĤ 椭ҤȤ
  [[url:http://cmail.sourceforge.jp/]]
  4ͤλҶƤǤ⤢롣

: ߥå
: Mix-in
  ꡼ˤʤΤޤƿ̣뤳ȡž
  ƥ⥸塼򥯥饹˺Ƶǽɲ
  뤳ȡѾ򻲾ȡ

  RubyǤ¿ŷѾѤis-aδطΤηѾȡǽ
  ͭΤMix-inѰդƤ롣¿ŷѾѤ
  ط𤹤ȤmatzοǰΤǤ롣

=== N
=== O
=== P


: Perl
  ää

: POLS
  Principle of least surprise

: Python
  RubyΥ饤Х롣ǯФءסmatzPython­Ƥ
  RubyޤʤäǤֵˤʤäƤΤ̾Ĺ
  (6ʸ)Ǥ롣

=== Q
=== R


: RAA
  Ruby Application Archive([[url:http://www.ruby-lang.org/en/raa.html]])

: RCR
  Ruby Change Request

: RD
  Ruby Document

: Ruby
  ֥Ȼظץȸ졣Ruby̾ϡPerl³
  (pearl6СRuby7)פȤ٤ΰ̣
  ̾դ줿Ruby̤˲άǤϤʤ

=== S


: Sather
  ֥Ȼظץߥ󥰸졣matz
  EiffelSather
  SatheräѤRubyˤƤʤ

: self
  쥷Ф򻲾Ȥ뼰ʤ
  selfȤȡ᥽å
  ưȹͤȥ쥷Фϼꡢ᥽åɤ鸫
  ʬǤ뤫Ȥ⤬뤬RubyǤϿ
  ͤñSmalltalk򿿻
  Ȥ⤬ͭϤǤ롣

: Smalltalk
  ֥Ȼظץߥ󥰸졣ߤ
  ֥Ȼظ
  ѥδäۤ졣

: super
  С饤ɤ᥽åɤ̤Υ᥽åɤƤӽФˡ
  άˤϸƤӽФΥ᥽åɤƱǸƤӽФ
  롣


  * :

    ȤͿ줿ѿͤѹˤϡ
    superǸͤϤ뤫ѹͤϤ뤫
//emlist{
              def foo(a)
                 print a
              end
              def self.foo(a)
                a=25
                super
              end
              foo(5)    # 5 or 25??
//}
  * :

    ѹ(25)ŤСǤ 5 ֤Ȥͤä
    Ϥ꼫Τˤޤ̣ʤΤʤ

=== T


: Thread
  ȤThread of controlάϢήΤȡRubyǤ
  ĤΥץʣΥåɤ¸ߤǤ롣

=== U


: undef
  ᥽åɤ̤֤ˤ뤳ȡѾ
  Mix-in⥯饹˥᥽åɤɲä뤳
  ȤundefȤХ᥽åɤȤ
  롣饹μɬפʥ᥽å(᥽å
  ƤФƤ᥽å)򳰤Ƥޤˤܤ

=== V
=== W
=== X
=== Y
=== Z

=== 


: ʣ
: Shallow copy
  󥹥󥹤ԡ
  եΥ󥹥󥹤ϡȤ򥳥ԡǤ롣
  㤨СʣԤä硢ϥԡ뤬
  ǤȤƤ륪֥Ȥϥԡʤ
  ä˲Ūʥ᥽åɤȤäƤޤȻפ̽˱ƶ
  Ф붲줬뤿ᡢĤɬפ롣
  е ʣ

: ƥ졼
: Iterator
  ֥åդ᥽åɸƤӽФΤȡ
  ֥åդ᥽åɤ鷫֤Ԥ˺줿ᡢ
  ̤˥ƥ졼ȸƤ֤Ȥ롣
  ֤տޤ᥽åɤ򥤥ƥ졼ȸƤ֤ΤϤޤʤ
  ֥åդ᥽åɸƤӽФ̤򥤥ƥ졼ȸƤ֤Ⱥθ
  ˤʤΤǵդ褦ˡ

: 󥹥
: Instance
  ֥ȤΤȡ֥Ȥ
  饹˽°뤳ȤĴ̣餷֥
  Ȥʤ󥹥󥹤ʤ𤷤ƥ֥Ȼظ˺
  ޤͤ¿ʹ

: 󥹥ѿ
: Instance Variable
  ֥Ȥ˸ͭѿΤȡRubyΥ󥹥ѿϼ
  Ҥľ@ĤΤǤꡢ᥽åɤ椫
  ȤǤʤ

: С饤
: Override
  Τȡѡ饹ޤ
  includeƤ⥸塼
  Ƥ᥽åɤƱ̾Υ᥽åɤ뤳ȡС
  ɤ̤Υ᥽åɤ
  superȤäƸƤӽФ
  Ǥ롣

: ֥
: Object
  ΤΤȡְפ¿ʬ֥ȤǤϤ
  ֥֥쥿פϥ֥ȤǤ롣ΤΤǤ
  뤫Ǥʤ¿ʬůŪǤ롣դ֥
  ظ񤷤Ȥ븶Τʤԥ塼ȳǤ
  ζ֤ΤȤ򥪥֥ȤȸƤֿͤꤹ
  ͤ롣äΤץ벽
  ݥǡȡ

: ֥Ȼظ
  ֥Ȥܤˤѥࡣ
  Ѹ"Object-Oriented"Ȥƻ줬ܤ̾첽
  ֥Ȥͤ濴֤СʤǤɤ褦ˤפ
  뤬Ūˤ

  * Ѿ

  * ץ벽

  * ݥե

    (뤤ưŪ)

  ɬפ餷
  ʤǤǤˡפΤ褦˹ͤͤ⤤뤬椽
  ʤ˴Ťʤ20ǯФƤ褦äȼŪ˻Ȥ
  褦ˤʤäĤʡ¿ʬ

: ֥Ȼظ߷
: Object-Oriented Design
  ֥Ȥܤˤƥ߷

: ֥Ȼظץߥ
: Object-Oriented Programming
  ֥Ȥܤˤץߥ󥰡

: ֥Ȼظʬ
: Object-Oriented Analysis
  ֥Ȥܤˤƥʬϡ


=== 


: ץ벽
: Encapsulation
  ǡФľŪϥǡηտ魯μ³
  (᥽åɤȸƤ)ԤȤˤꡢ
  ¤Υ르ꥺ鱣Ƥޤȡ
  ݥǡȡ

  Rubyϥ󥹥ѿϥ᥽åɤ餷ȤǤʤΤǡ
  ץ벽ƤȤ롣

: Ķѿ
: Environment Variable
  ƥץҥץФƼϤ͡
  ENVǥ롣
  ҥץϤΤϴĶѿΥԡʤΤǡҥץ
  ץ˴ĶѿȤäƾϤȤϤǤʤ
  ƤϤʤʤҶ˼򷹤ʤΤǤ롣

: ؿ
: Function
  ̩ˤRuby˴ؿϤʤ쥷Фά᥽
  ɸƤӽФϳؿ˻Ƥ뤷
  self䥤󥹥ѿʤ
  쥷ФξȤʤ¾δؿȤƯƤ
  äƤɤ᥽åɤ⤢롣鸷̩ǤʤȤƤ
  ᥽åɤؿȸƤ֤Ȥ⤢롣

  ؿ(Ū᥽å)쥷ФάǤ
  ӽФʤ褦˲Ļprivate
  ꤷƤ롣Τ褦ʥ᥽åɤɽȤ
  ⥸塼ؿ롣

: 饹᥽å
: Class Method
  饹Υ᥽åɡƤΥ饹Υ饹
  [[c:Class]]Ƥ
  ƤΥ饹ǶͭƤ᥽åɤȥ饹줾줬ͭ˻äƤ
  ðۥ᥽åɤȤ뤬
  Ȥ礷ǤϤʤ
  饹᥽åǤselfϥ饹ǤΤǴ㤤ʤ褦ˡ

: Хѿ
: Global Variable
  ץΤ黲ȤǤѿ¿Ѥʤȡ

: Ѿ
: Inheritance
  Ĥ̤ѤΤڤäơ
  ʬǤϺ¤ΤȤʤȡǤϷۡ
  žơ륯饹˵ǽɲä饹
  뤳ȡѾis-aδطɽΤͭǤ롣Ȥ
  С̤򵭽Ҥֳץ饹Ѿơ¸
  줷ֹץ饹뤳ȤǤ롣is-aδط
  ʤñ䵡ǽͭˤMix-in
  ȤȤ˾ޤȤ롣


=== 


: 
: Redefinition
  С饤ɤΤȡ

: 
: Dictionary
  ܤ餽ФȤǤΡž
  ϥå֥̾Ȼظε
  Ƥ٤Smalltalkˤƥϥå
  ǡ¤ּפȸƤФƤǼȤ
  ˤʤǤ췲ο͡롣

: 
: Initialize
  ֥(뤤ϡ֤ʤˤ)ֻȤ׾֤ˤ뤳ȡ
  󥹥󥹤νˤ
  [[m:Object#initialize]]
  ᥽åɤ롣饹Υ᥽å
  [[m:Class#new]]ΥǥեȤ
  Ͽ󥹥󥹤Фơ
  initialize¹Ԥ롣newؤ
  ϤΤޤinitializeϤ롣ޤ
  new֥åȤȤ˸ƤӽФ줿ˤ
  initializeˤΥ֥åΤޤͿ롣

  ȤȤ[[m:Class#new]]
  ɬפϤʤϤ

: ץ
: Script
  ܡžơ󥿡ץ꥿᤹Ūûץ
  ȡˤĶܤ⤢롣

: ץȸ
: Script Language
  ץȤ˽äƥХåԤ
  ץ꥿Τȡʹ֤ܤɤȤˤƥץ
  Ǥ롣

: ¨
: Immediate Value
  ȤǤϤʤºݤͤѿ˳Ǽ
  ΡRubyθߤμǤFixnumSymbolnil/true/false¨
  ͤǤ롣Fixnum¨ͤǤʤRubyμäƤ⹽
  ʤǥƤ֥ͤȤؤλȤǤȹͤ
  ⺹٤ʤ

: 
: Sort
  ֤¤ؤ뤳ȡRuby Ͽ夲Ǥ
  (Enumerable includeƤ)Ǥ˽
  (<=> )С˸¤餺ɤ
  ʣʥ֥Ȥνޤ⥽ȤƤ롣


=== 


: æ
: Non-Local Exit
  break, next, redo, retry, return
  ʤɤΥ᥽åɤϰǤæФǤϤʤªʤ¤᥽
  ɸƤӽФγؤ̤äǤ륿פΤΤæФȸƤ֡
  RubyæФˤϡ㳰ˤΤcatch/throw롣

  ۤȤɤ㳰(exitȯSystemExit
  ޤ rescue ªǤ뤬ª뤳Ȥ˰̣ʤ㳰
  (:˼Ԥ/󥿥ץ꥿ΤΤΥХ)
  ªоݤˤʤʤ

  catch/throwthrowȻꤵ줿Ʊ
  catchޤǰ쵤˥פΤǤ롣

: ʥߥåѿ
: Dynamic Local Variable
  ѿ ΰRubyΥѿϥפ
  Ū˷ޤ뤿ᥳѥѿ뤬ʥߥå
  ѿϡ¹Ԥѿ롣֥åǽ줿
  ѿϥʥߥåѿȤʤꡢΥפϥ֥å
  Ȥʤ롣ϡThread Ωѿ
  Ĥˤ롣

: ݥǡ
: Abstract Data Type
  ǡι¤ȤΥǡФҤȤޤȤˤΤ
  ݥǡȸƤ֡ݥǡФɬ
  ͳɬפ롣̡ǡ¤ϳľܻȤ줺
  ¤ѹ˰ƶڤܤʤΤȤ
  ץ벽ȸƤ֡

: 
: Constant
  ͤѤ뤳ȤǤʤѿ
  Ǥ⡢̷⤷Ƥʤ

: ưŪ
: Dynamic Binding
  оݤΥǡ˹碌Ŭڤʼ³(᥽å)¹Ի
  򤵤뤳ȡץνƯ롣
  ֥Ȼظ׷ΤҤȤġ
  RubyǤѿ˷̵ΤưŪɬǤ롣

: ðۥ饹
: Singleton Class
  Υ֥ȤΤβŪʥ饹

: ðۥ᥽å
: Singleton Method
  Υ֥Ȥˤ줿᥽åɡ
  ᥽åɻȡ
  ðۥ᥽åɤϰʲξ¾Υ֥ȤˤѤ롣

  * [[m:Object#clone]]

  * ֥饹ä

  ðۥ᥽åɤǸΥ饹Υ᥽åɤ򥪡С饤ɤ
  ȤΥ᥽åɤ super ǸƤӽФȤǤ롣

: ɥ
: Document
  matzζʤΡʤ֥ɥȤХ
  ⴰ˵ҤƤפȼĥƤ뤬ïʤ
  

: ȥåץ٥
: Top Level
  饹⥸塼ΰֳ¦ΥƥȡRubyץȤϥȥåץ٥
  ƥȤϤޤ롣

  ʤꡢ
    print "on Toplevel"
  ȤץȤ񤤤Ȥprint ᥽åɤϥȥåץ٥뤫ƤФƤ롣

  ȥåץ٥ self  main ؤ

=== 
=== 


: Хȥ
: Byte Order
  0x01020304Ȥ4Хȥǡ1,2,3,4
  ֤뤫4,3,2,1֤뤫Ȥȡ
  Ԥӥåǥ󡢸Ԥ
  ȥ륨ǥȸƤ֡ɤ餬
  ɤȤϻΤϤᤫ³ƤƤޤФƤʤ

: ˲Ū
: Destructive
  [[m:String#chop!]], [[m:Array#concat]] ʤɤ
  ᥽åɤϡ쥷Фξ֤ѲΤǡ
  ˲ŪʺѤ򤹤פȤ
  ä˥ԥ塼ȤϤʤ

: ϥå
: Hash
  Rubyˤ륭ͤؤΥޥåԥ󥰤ɽǡ¤
  ϢȤȤƤФ롣ϥå夬ϥå
  ȸƤФΤϤμ¸ˡ֥ϥåɽפȸƤФ륢르ꥺ
  ȤƤ뤫Ǥ롣ϥåȤΤϡڤפȤ
  ̣ǡ֥ϥåɡӡաפΡ֥ϥåפǤ롣

: ѥ
: Paradigm
  ֹͤפ񤷤ɽľʬ䤹դȤФΤˡġ

: ҥɥ
: Here Document
  [[ref:d:spec/literal#here]] 򻲾ȤƤ

: ӥåǥ
: Big Endian
  ꥫΦ̱Ĥϥǥ
  äϥǥǸ츻ϥեȤΡ֥СιԵפ˽Ф
  ݤü鿩٤ͤǤ롣
  äü鿩٤ͤ
  ȥ륨ǥǤ롣
  ԥ塼ȳǤCPUʤɤǡ¤٤ηΤҤȤĤǡ
  ͥåȥ²ϥӥåǥ򹥤Ȥ
  Хȥ

: ӥȥ󥯥饹
: Built-In Class
  Ruby󥿥ץ꥿Ȥ߹ߤǥ󥹥󥹤ι¤
  ̾Υ֥ȤȰۤʤ륯饹
  Υ饹Ѿ饹뤳ȤϤᤷʤ
  RubyΥӥȥ󥯥饹 [[lib:_builtin]] 󤵤Ƥ롣

: ʣ
: deep copy
  󥹥󥹤οԡ
  ե˥󥹥󥹤硢
  Υ󥹥Ѥ˥ΥԡԤ
  㤨С˿ʣԤä硢򥳥ԡ
  ǤȤƤ륪֥Ȥ⤹٤ƥԡ롣
  е ʣ shallow copy

: ֥å
: Block
  롼פꡢȤʽƤꡢͤ򲥤äꤹΡ

: ֥åդ᥽åɸƤӽФ
  ɤνޤ(֥å)뤳ȤΤǤ᥽åɤ
  ֥åդ᥽åɸƤӽФȸƤ֡

  ֥åդ᥽åɤǤ yield Ȥä
  ֥å¹Ԥ뤳ȤǤ롣

  ΤȤʤ顢Ϳ줿֥åɤΤ褦˽뤫
  ᥽å¦˰ѤͤƤ롣Τǡǥ֥åɾʤ
  ᥽åɤ˥֥åͿƤʤˤⵯʤ顼ⵯʤ

: ֥å
: Block argument
  ᥽åʤɤ˻Ѥ &block ʤɤΤȡ

: ֥åѥ᡼
: Block parameter
  ֥åϤѥ᡼Τȡ

: ѿ
: Variable
  ֥ȤˤĤ̾Rubyѿˤ
  Хѿѿ󥹥ѿ롣
  ͤѤ뤳ȤǤʤΤǡѿǤϤʤ
  ̾ǤȤˤƤѿƱǤ롣

: ݥե
: ¿, Polymorphism
  оݤˤʤ륪֥ȤˤäƼºݤꤵ뤳ȡ
  RubyǤϥ쥷ФΥ֥Ȥ˱
  ƥ᥽åɤ򤵤뤳ȤˤäƼ¸Ƥ롣


  * 
//emlist{
              obj = "abc"
              print obj.length, "\n"          # => 3
              obj = [1,2,3,4]
              print obj.length, "\n"          # => 4
//}

=== 


: ⥸塼ؿ
: Module Function
  ؿΤ褦Ѥ᥽åɤǡ
  ⥸塼Υ᥽åɤȤƤ⡢ðۥ᥽åɤȤƤ
  Τϥ⥸塼ؿȸƤФ롣㤨
  [[c:Math]]⥸塼ΤۤȤɤΥ᥽åɤ
  ⥸塼ؿǤ롣Υ᥽åɤϡ㤨

            Math.sqrt(2)

  ȤǤ

            include Math
            sqrt(2)

  ȤǤȤǤ롣

: ᥽å
: Method
  ֥ȤФоݤΥ
  ֥(쥷) self ǻȤǤ롣
  Rubyξӥȥ󥯥饹Υ֥ȤС
  ֥Ȥι¤ưŪ˷ޤΤǡ
  륪֥ȤϤΥ֥ȤƤ᥽å
  ˤäƷꤵ롣

=== 
=== 


: ȥ륨ǥ
: Little Endian
  ǽ10ͤʡäƤԥ塼ȳǤϥǡ¤
  ηΤҤȤĤǡ礭ʥĤCPU᡼
  ϥȥ륨ǥ򹥤ȤХȥ

: 㳰
: Exception
  㳰ŪʾȯΡ㳰ȯ
  begin  rescue ȤäŪªʤ¤ꡢ
  ƤӽФؤ̤äƥץ(thread)μ¹ԤǤ롣㳰
  RubyץϤۤȤɤξ㳰ŪʾˤĤƤ
  åˤࡣ㳰ȯξ [[m:$@]] ˡ
  㳰ΤΤ˴ؤ [[m:$!]] ˳ǼƤ롣

: 쥷
: Receiver
  ᥽åɤμ¹ԼΡ᥽åɸƤӽФ`.'κ
  ¦ˤΡ᥽åǤ
  self ǻȤǤ롣쥷ФΥ󥹥ѿ
  @ѿ̾ȤǥǤ롣

: Ϣ
: Associative Array
  ϥå̾ϥå夬ǤդΥ
  ͤФȤǤΤǡϢۡפȡޤϥåź
  ǤʤȤߤʤȤǤΤǡפȸƤ֤餷
  ΡϢ(Ϣ۵ȸƤФƤ)ϥϡɥˤä
  ¸ΤȹͤƤ׻®٤θŬڤʥ
  르ꥺȯ(֥ϥåɽפȸƤ֡ϥåθ츻)ˤ
  եȥΤߤˤäƼ¸褦ˤʤä

: ѿ
: Local Variable
  ϰǤΤ߻ȲǽѿϰϤ򥹥פȸƤ֡
  RubyΥפ

  * ץ

  * 饹⥸塼

  * ᥽å

  * ֥å

  ǡ֥åϳ¦ΥפΥѿ⥢Ǥ
  롣ѿͭϰϤϥפǤκǽ줿
  ꤫饹פνޤǤǤ롣ͭϰϤŪ˷ޤꡢº
  ˼¹Ԥ뤫ɤϴطʤ

=== 
=== Symbol
