ruby-LEDの日記

2006-06-11

[]配列ハッシュ

  • 配列の宣言は[]で括る。さらに、各要素を,で区切る。

irb(main):001:0> a = [ 1, 'cat', 3.14 ]

=> [1, "cat", 3.14]

irb(main):002:0> a[0]

=> 1

irb(main):003:0> a[2] = nil

=> nil

    • シェルなら()で括って、,要らない
    • C言語なら{}で括って、,必要
      • うーん、なんで,が必要なんだろうなぁ?
  • aだけだと配列全部が出てくる

irb(main):004:0> a

=> [1, "cat", nil]

    • 具体的にどう使うのかは謎
      • きっとシェル引数に渡すみたいな使い方をするのだろう、と予想
    • シェルで全部だすには${hage[@]}
      • ということは、シェルよりよく使うのかな?
    • C言語だとハイパー面倒くさいので割愛

irb(main):006:0> empty1

=> []

irb(main):007:0> empty2 = Array.new

=> []

    • とりあえず需要が無い気がするなぁ。
      • しかし二種類も方法が用意されてるのは気になる。
    • そういえば、シェルで空の配列ってどういう概念なんだろう?
    • cだと配列型のポインタだと思うんだけど
  • 単語の配列をつくるには

irb(main):008:0> a = %w{ ant bee cat dog elk }

=> ["ant", "bee", "cat", "dog", "elk"]

irb(main):009:0> a[0]

=> "ant"

    • この場合は,が要らない。""で括る必要もない。

a = %w{ 日本語 }

a = %w{ "日本語" }

a = %w{ '日本語' }

いずれもエラーがでる。

unterminated string meets end of file

    • ありゃ?日本語の文字列処理ってどうやってやるんだろう?
トラックバック - http://rubyist.g.hatena.ne.jp/ruby-LED/20060611