万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Boo Language Advent Calendar 2012 7日目 Title:「Listの便利なテクニック」

    URL: http://atnd.org/events/34622

    おはよう、こんにちは。こんばんは。
    結局今日も書くことになりました。

    ・ちなみに技評にのったよ
    http://gihyo.jp/news/info/2012/12/0101

    ・ここにはまだない(・∀・)
    http://matome.naver.jp/odai/2135217818800380701

    最近Pythonやってなくてよく忘れるが、
    BooもListとArrayを明確に分けてます。

    ・Array
    これがArrayです。
    ()カッコにstring型入れてます。

    my_array as (string) = (string, "one", "two", "three")
    for i in my_array:
        Debug.Log(i)
    

    → 結果
    one
    two
    three

    公式ドキュメントではアンダースコア区切りはしてませんでした。


    0番目に型を書けばその型になるようです。

    my_array as (string) = ("one", "two", "three")
    for i in my_array:
        Debug.Log(i)

    → 結果(同じ)
    one
    two
    three

    ・List
    今回主役のListです・
    []で書きます。UnityScriptの配列的な書き方なので混合しそう。
    Arrayと違うのは、どんなかたも入れれること。

    my_list as List = ["foo", "bar", "baz", 0, 1, 2]
        Debug.Log(my_list)
    
    for item in my_list:
            Debug.Log(item)
    

    → 結果
    foo
    bar
    baz
    0
    1
    2

    ・if文でこんな書き方ができます。my_list内に"foo"があるかを判別できます

    my_list as List = ["foo", "bar", "baz", 0, 1, 2]
    if my_list.Find({item | return item == "foo"}):
        Debug.Log("found foo");
    

    intの判別もできる

    my_list as List = [0, 1, 2]
    if my_list.Find({ i as int | i > 5 }):
        Debug.Log("found more than 5");
    

    "as int"を書かないとobjectと比較演算子使ってるとこのエラーが出るので注意。

    InvalidCastException: Cannot cast from source type to destination type.

    では次の方よろしくです。