title=RubyǻȤ뵭ΰ̣ɽʣʵϽ


[[ref:ex]][[ref:q]][[ref:num]][[ref:per]][[ref:and]][[ref:or]]
[[ref:plus]][[ref:minus]][[ref:ast]][[ref:slash]][[ref:hat]][[ref:sq]]
[[ref:period]][[ref:comma]][[ref:langl]][[ref:rangl]][[ref:eq]][[ref:tilde]]
[[ref:dollar]][[ref:at]][[ref:under]][[ref:lbra]][[ref:rbra]]
[[ref:lbra2]][[ref:rbra2]][[ref:lbra3]][[ref:rbra3]][[ref:dq]][[ref:colon]][[ref:ac]]
[[ref:backslash]][[ref:semicolon]]

===[a:ex] !

:  !true 

 not 黻ҡ[[ref:d:spec/operator#not]]򻲾ȡ

: 3 != 5

 ʤӱ黻ҡ[[ref:d:spec/operator#not]]򻲾ȡ

: def xxx!

 !פϥ᥽å̾ΰǤŪˡ
 Ʊ̾(! ̵)᥽åɤ٤Ƥ˲ŪʺѤĥ᥽å(: tr  tr!)ǻȤޤ

: /xxx/ !~ yyy

 ɽΥ᥽å =~ ꡣޥåԤtrue֤ޤ


===[a:q] ?

:  ?a 

 [[ref:d:spec/literal#num]]ʸ ascii ɤο͡

: def xx?

 ξΡ?פϥ᥽å̾ΰʬǤ
 Ūˡ֤ͤפΥ᥽åɤ򼨤˻Ȥޤ

: xx ? yy : zz

 [[ref:d:spec/operator#cond]]黻ҤȤƤФޤif xx then yy else zz end Ʊ̣Ǥ

: /xxx?/

 ɽΡ̻(quantifiers)ľɽ 0 ޤ 1 η֤

===[a:num] #

: #
 [[ref:d:spec/lexical#comment]]# ޤǤȤˤʤޤ

: xxx #=> ¹Է
: xxx # => ¹Է

 Ū˼¹Է̤򼨤˻Ȥ륳Ȥν

: #! ruby -Ks

 shebang[[ref:d:spec/rubycmd#shebang]]򻲾ȡ

: # coding: utf-8

 ޥåȡ[[ref:d:spec/m17n#magic_comment]] 򻲾ȡ

: "a is #{a}"

 [[ref:d:spec/literal#exp]]
//emlist{
  a = 10
  p "a is #{a}"  #=> "a is 10"
//}

: Range#each

 ʸǤΤ߻ȤޤRubyǤǤϤޤ󡣥饹Υ󥹥󥹥᥽åɤǤ뤳Ȥ
 ñɽ뤿ɽˡǤ饹᥽åɤϡRange.newפΤ褦ˡ.פǤĤʤޤ

===[a:per] %

:  10 % 3 

 ƥ饹줿%ױ黻ҡInteger饹Ǥϡ־;פ̣᥽åɡ[[m:Integer#%]]᥽åɡ

:  "%04b" % 10 

 String饹Ρ%ױ黻ҡ[[m:String#%]] ᥽åɡʸǤϥեޥåȻҤȤƤȤ롣

: %r{/etc/httpd/logs$}  %w[foo bar baz]  %<ʸ><ڤʸ><ʸ><ڤʸ>

 [[ref:d:spec/literal#percent]]<ڤʸ>ˤǤդѿѤ뤳ȤǤ
 <ʸ>ˤäƼΰ̣ۤʤޤʤǽ <ڤʸ> ¦γѳ [ݳ (
 ֥졼 {ʤ <ξϡб뱦¦γ̤ <ڤʸ> ˤʤޤ
//emlist{
    p %r{/etc/httpd/logs$} #=> /\/etc\/httpd\/logs$/
    p %w[foo bar baz] #=> ["foo", "bar", "baz"]
//}

: %!STRING!

 % ˡΰ[[ref:d:spec/literal#percent]]֥륯ʸ %Q!STRING! Ʊ
//emlist{
    p %!nomad! #=> "nomad"
//}

: % ruby -e "puts 'Hello'"

 ޥɥ饤ؤϤ򼨤rubyץȾϤԤˤ `command`  system(command) ʤɤȽ

===[a:and] &

: xxx & yyy

 ѱ黻ҡޤα黻Ԥ᥽åɡ
//emlist{
    p( 3 & 5 ) #=> 1  ʿ 0011 & 0101 #=> 0001
//}

: a &= yyy

 &ץ᥽åɤμ黻ҡ

: xxx && yyy

 andױ黻ҡ
//emlist{
    p( 3 && 5 ) #=> 5  3  5 ⿿ʤΤǱ֤ͤ
//}

: def xxx(&yyy)  &Ĥ

 ᥽åΥ֥å[[ref:d:spec/def#method]]򻲾ȡ

: xxx(&b)

 [[c:Proc]] ֥Ȥ֥åȤƻȤ[[ref:d:spec/call#block]] 򻲾ȡ

===[a:or] |

:  3 | 5 

 ±黻ҤޤΥ᥽åɡʿ 0011 | 0101 => 0111

:  3 || 5 

 orױ黻ҤޤΥ᥽åɡ3 ϿʤΤǺ֤ͤ

: a ||= xxx

 ||ױ黻Ҥμ黻ҡa    ̤ ʤ a  xxx 롢Ȥ̣ˤʤޤ
//emlist{
  a ||= :some
  p a #=> some
  a ||= :sec
  p a #=> some
//}

: 5.times{|n| p n}

 ֥åѥ᡼Ǥ뤳Ȥ򼨤ڤʸ

: /xx(xx|xx)/

 ɽ

===[a:plus] +

: 2 + 3

 ޤα黻Ԥ᥽åɡ

: + 3

 οɽñ黻+

: /xxx+/

 ɽΡ̻(quantifiers)ľɽ 1 ʾη֤

===[a:minus] -

: 3 - 2

 ޤΥ᥽å


: 3 * (-5)

 ñ - (ޥʥ)򤱤뤿Ŭ()ǤȤ褤

: % ruby -w ʤ ޥɥ饤 -AAA

 ޥɥ饤󥪥ץ

===[a:ast] *

: 2 * 3

 ޤα黻Ԥ᥽åɡ

: 2**3

 ߾衣ޤα黻Ԥ᥽åɡ

: def xxx(*yy)  *Ĥ

 ᥽åɸƽФΰŸ[[d:spec/call]]  [[ref:d:spec/def#method]] 򻲾ȡ

: x, *y = foo()

 ¿[[ref:d:spec/operator#multiassign]] 򻲾ȡ

: /xx*/

 ɽΡľɽ 0 ʾη֤ǤĹޥå褦Ȥ롣
 [[d:spec/regexp]] 򻲾ȡ

===[a:slash] /

: 10 / 3

 껻ޤΥ᥽åɡ

: /xxx/

 [[ref:d:spec/literal#regexp]]

: '1󻰻5'.split(//)

  // ϶ɽ̣

===[a:hat] ^

:  true ^ true 

 xorױ黻ҡ¾Ū¡ޤΥ᥽åɡ

: a ^= true

 ^ױ黻Ҥμ黻ҡaͤȿž
//emlist{
    p(a=true);p(a^=true);p(a^=true) #=> true false true
//}

: /^xxx/

 ɽǡƬʸƬʸľΰ֤˥ޥåޤ

===[a:colon] :

: :exit:ΤĤ̻

 ܥƥ롣[[ref:d:spec/literal#symbol]] 򻲾ȡ

: Net::HTTP

 Υױ黻ҡ[[ref:d:spec/variables#const]] 򻲾ȡ

: ::DateTime

 Υױ黻Ҥǡȥåץ٥Ǥ뤳Ȥ򼨤Object 饹
 Ƥ(ȥåץ٥ȸ)μ¤˻Ȥ뤿ˤ
 [[ref:d:spec/variables#const]] 򻲾ȡ

: xx ? yy : zz

 黻ҡ黻ҤȤƤФޤif xx then yy else zz end Ʊ̣Ǥ
 [[ref:d:spec/operator#cond]] 򻲾ȡ

: if 30 > 20 : ... ʤ Ｐ  :

 thenξάＰȼƱԤ˽񤭤Ȥɽˡ

 Ruby1.9.1 ʹߤǤϻѤǤޤ


===[a:period] .

: xxx.yyy

 ֥ȤΥ᥽å

: Range.new

 ֥ȤΥ᥽åɤʸǤä˥饹Υ饹᥽åɡ⥸塼
 ⥸塼᥽åɤ򼨤Ȥ˻Ȥޤ󥹥󥹥᥽åɤϡRange#eachפΤ褦
 #פǤĤʤޤ

: 1 .. 20

 ͤޤ Range ֥Ȥϰϱ黻ҤǤΤϰϼȤޤ[[ref:d:spec/operator#range]]

: 1 ... 20

 ͤޤޤʤ Range ֥Ȥϰϱ黻ҤǤ
 ΤϰϼȤޤ[[ref:d:spec/operator#range]]

: if /^begin/ .. /^end/ ʤ Ｐ  .. 

 Ｐϰϼ̤˥եåץեåפΤ褦Ưޤ

//emlist{
    '1234543212345'.each_byte{|n|print( (n==?2)..(n==?4) ? n.chr : '_' )} #=> _234___21234_
    #"2"ФޤǤfalse"2"ФƤ"4"ФޤǤtrue"4""2"ޤǤfalse֤
//}

: /xx.xx/

 ɽǤդΰʸ

===[a:comma] ,

: a,b, = [1,2,3]  κդΡ,

 ¿[[ref:d:spec/operator#multiassign]]򻲾ȡ

: a = b, c

 ¿[[ref:d:spec/operator#multiassign]]򻲾ȡ

: def foo(bar, baz)

 ᥽åɰζڤꡣ

: { :a => 1, :b => 2 }

 ϥåǤζڤꡣ

: [:a, :b, :c]

 Ǥζڤꡣ

: { :a => 1, :b => 2 }.each{|key, val}

 ֥åѥ᡼ζڤꡣ

===[a:langl] <

: 3 < 5

 ֤꾮ӱ黻

: 3 <= 5

 ֤꾮ӱ黻

: 3 <=> 5

 Ūӱ黻ҡۤӱ黻ҤϤα黻Ҥ򸵤 [[c:Comparable]] ⥸塼Ƥޤ
 礭 1, 0, 礭 -1 ֤褦˺뤳ȤԤƤޤ

: 3 << 1

 եȱ黻Ԥ᥽åɡޤΥ᥽åɡ[[m:Array#<<]] ʤɡ

: a <<= 1

 <<ױ黻Ҥμ黻ҡ
//emlist{
  a = 3
  a <<= 1
  p a #=> 6
//}

: <<EOS ޤ <<-EOS <<"EOS" ʤɡ

 ҥɥȤǤ[[ref:d:spec/literal#here]]ҥɥȤ `<<̻' ޤԤμιԤ
 `̻' ιԤľޤǤʸȤԻظΥƥǤ

: class Foo < Super

 饹ǥѡ饹ꤷƤޤ
 [[ref:d:spec/def#class]]

: class << obj

 ðۥ饹[[ref:d:spec/def#singleton_class]]򻲾ȡ

===[a:rangl] >

: 3 > 5

 ֤礭ӱ黻

: 3 >= 5

 ֤礭ӱ黻

: 3 <=> 3

 Ūӱ黻ҡۤӱ黻ҤϤα黻Ҥ򸵤 [[c:Comparable]] 
 ⥸塼Ƥޤ礭1, 0, 礭 -1 
 ֤褦˺뤳ȤԤƤޤ

: 3 >> 1

 եȱ黻ҡޤΥ᥽åɡ

: a >>= 1

 >>ױ黻Ҥμ黻ҡ
//emlist{
  a = 3
  a >>= 1
  p a #=> 1
//}

: { 1 => "11" , 3 => "333" }

 ϥåΥƥ


===[a:eq] =

: a = 12

 黻ҡ

: xxx.a = 12

 ᥽åɤθƤӽФ

: a == 12

 黻ҡޤΥ᥽åɡ

: a === 12

 ü黻ҡ[[m:Object#===]]Ǥ֤Υ᥽åɤ case ʸǤӤѤޤ
 ǥեȤ Object#== ƱƯ򤷤ޤ εưϥ֥饹ǽ°Υå¸뤿 
 ŬޤסȤС[[m:Range#===]] other ϰ˴ޤޤƤ˿֤ޤ

: a += 12 , a *= 12 , a ||= 12 ʤɡa 黻 = b

 黻ҡ[[ref:d:spec/operator#selfassign]]򻲾ȡ
//emlist{
  a = 7
  a **= 2
  p a #=> 49
//}

: def xx=

 ξΡ=פϥ᥽å̾ΰʬǤΥפ̾Υ᥽åɤȡ
 Ʊˡ=ױ黻Ҥ뤳Ȥˤʤޤ

: =begin  =end

 ߥɥȤǤ[[ref:d:spec/lexical#embed]]򻲾ȡ

: { 1 => "11" , 3 => "333" }

 ϥåΥƥ

: rescue => XXX

 㳰㳰̤ѿ XXX ޤ

: xxx #=> ¹Է

 Ū˼¹Է̤򼨤˻Ȥ륳Ȥν

===[a:tilde] ~

: '%04b %04b' % [3, ~ 3]

 ӥåȱ黻ꡣ
//emlist{
 '%04b %04b' % [3, ~ 3] #=> "0011 1100"
//}

: /xxx/ =~ yyy

 ɽΥ᥽å =~ ɽʸޥå롣ξդؤƤⵡǽޤ

: /xxx/ !~ yyy

 ɽΥ᥽å =~ ꡣޥåԤtrue֤ޤ

: ~ /xxx/

 /xxx/ =~ $_ ξά~θɽǤʤФޤ

===[a:dollar] $

: $xxx

 Хѿ[[ref:d:spec/variables#global]]򻲾ȡ

: $_  $! ʤ $<1ʸο>

 [[unknown:üѿ(Ȥ߹ѿ)|URL:http://www.ruby-lang.org/ja/man/?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DF%CA%D1%BF%F4]]

: /xx$/

 ɽǹʸʸľΰ֤˥ޥåޤԼȤϴޤߤޤ
 [[d:spec/regexp]]򻲾ȡ

===[a:at] @

: @xxx

 󥹥ѿ[[ref:d:spec/variables#instance]]򻲾ȡ

: @@xxx

 饹ѿ[[ref:d:spec/variables#class]]򻲾ȡ

: def +@ ޤ def -@

 ñ黻 +X  -X Ȥɽˡ
//emlist{
  class String
    def +@
      self.upcase
    end
  end

  puts(+"joke") #=> JOKE
//}

===[a:under] _

: xxx_yyy

 ̻ҤǤϾʸƱ

: 123_456

 ʸɰʳοͥƥˤϡ`_' ޤ뤳ȤǤޤ ruby 󥿥ץ꥿ `_' ñ̵뤷
 ̤ʲϲ⤷ޤ ϡ礭ʿͤηҤܤǤ狼褦˵ҤΤǤ
 [[ref:d:spec/literal#num]]򻲾ȡ

===[a:lbra] {
===[a:rbra] }

: { 1 => "11" , 3 => "333" }

 ϥåΥƥ

: 5.times{|n| p n}

 ֥å

: /xx{2,3}/

 ɽΡϰϻ귫֤(interval quantifier)

: "a is #{a}"

 Ÿ[[ref:d:spec/literal#exp]]򻲾ȡ
//emlist{
  a = 10
  p "a is #{a}"  #=> "a is 10"
//}

===[a:lbra2] [
===[a:rbra2] ]

: [1,"some",:ok]

 Υƥ

: 'abcde'[1,2]

 []᥽åɤμ¹
//emlist{
  class String
    def [](*a)
      '(^^;'
    end
  end
  p( 'abcde'[1,2] )  #=> "(^^;"
//}

: /xx[abc]/

 ɽʸ饹ꡣ

===[a:lbra3] (
===[a:rbra3] )

: (true and false)

 ݥå()ϸ̩ˤϡʣʸޤȤƤҤȤĤμˤ륰롼ײ()¦Υåˤȥ᥽åɤΰ()γ¦ΥåˤޤΤ褦̤ʾʤϻȤʬռɬפϤޤ()ϰ̣ƤˤʤʤϰϤǾάǽǤ

===[a:dq] "

: "abc"

 ʸƥ롣ŸʤɤǽʥפʸƥǤ
 [[ref:d:spec/literal#string]]򻲾ȡ

===[a:sq] '

: 'abc'

 ʸƥ롣¤Υפޤ󡣼Ÿʤɤ򤷤Ϥ""Ѥޤ

===[a:ac] `

: `ls`

 ޥɽϡХå(`)ǰϤޤ줿ʸϡޥɤȤƼ¹Ԥ졢
 ɸϤʸȤͿޤ[[ref:d:spec/literal#command]]򻲾ȡ
//emlist{
    puts `ruby -h`
    #=> Usage: ruby [switches] [--] [programfile] [arguments]
    #=> ....
//}

===[a:backslash] \
Хåå塣Ķˤäơ˸ꤷޤ

: puts "abc\"def"

 ʸɽΥס
//emlist{
 puts "abc\"def" #=> abc"def
//}

: xxx \

 ³ԡԤľ֤롣ѡʳľβԤ¸ߤʤΤȤưޤ
//emlist{
    puts(3 \
    + 4) #=> 7
//}

===[a:semicolon] ;

: a = 3 ;

 ζڤꡣԤƱ

