- 2009/02/26 10:40
- SuperCollider
リテラル
変数は小文字、クラスは大文字スタート。
数は大体な感じでスルー。
文字(Character)は$A, $bなど、$に続けて表す。
文字列は”"(ダブルクオート)で、シンボルは”(シングルクオート)で括る。
つまりPythonなノリで括ってると痛い目をみる。
(シンボルってのが何を示すのかは良く分からないけど。)
シンボルが一つの単語の場合はバックスラッシュに続けて記述可能。
\hoge
'hoge' == \hoge // true
文字列と文字に関しては、以下の関係が成り立つ模様。
$A == "A" // false
$A == "A"[0] // true
$\n == "\n"[0] // true
"a" == 'a' // false
"a" == 'a'.asString // true
"a".asSymbol == 'a' // true
"a" == \a // false
"a" == \a.asString // true
$a == 'a'[0] // ERROR
$a == 'a'.asString[0] // true
シンボルの扱われ型がよくわからんけど、定数的な何か、なのかな?
特別な値としてtrue, false, nil, infがある。
nilはNULLとかVoidとかNoneとかみたいなもんか。
1 == true // false
0 == false // false
0 == nil // false
nil == false // false
配列は#[]で宣言。
#[1, 2, 3]
ネストする場合は一番外側に#。
#[[1, 2, 3], [4, 5, 6]]
これらは意味が異なる。
#[foo, bar] // シンボルのArray
[foo, bar] // foo, barが宣言されている場合にのみ有効
次は関数を学習予定。
不定数引数とか取れるっぽい。詳しくは次回。
- Newer: T. Rowe Price “Ink”
- Older: sc勉強中