4. Functions/Collections/UGens as object

1. Functions as objects  

-괄호안에 code는 function이 된다.: {code}

{1+2}//enter로 실행후 post window확인
{1+2}.value//값을 보기
{1+2*3}.value

-Funcation은 또한 arguments를 가질수 있고 다음 두가지 방법으로 가능하다.
f = {arg a,b; a*b}//실행
g = {|a,b| a*b}//실행
f.value(10,2)//위의 코드를 실행해 주지 않으면 값을 얻을수 없다.
g.value(10,2)

-a~z까지의 심볼들은 global variables로 정의되고 특정한 선언없이 사용될 수 있다.

//——————————————–
2. Collections as objects
-item의 list
[100,200]
[1,2,3,4,5,6].choose//random choice
[1,2,3,4,5,6].scramble//different arrays
[1,2,3,4,5,6].rotate//rotation
[1,2,3,4,5,6]+10//each number is added by 10

-Collection은 또한 shortcut으로 표기 가능
(1..5)

f=(10..20)
f[1]

(10,12..20)//even number from 10 to 20
(1,3..8) + (1,4..8)

Array.series (10,1,100) //number, start, distance
Array.fill(10,{rrand(400,800)})//number, something to fiill it with such as a function
Array.fill(10, rrand(400,800))//Array가 function{}으로 채워지지 않을경우 같은 값만 출력한다.

//——————————————–
3. UGens(unit generators) as objects
-UGen들을 보려면 다음을 실행
UGen.dumpClassSubtree
또는 click on underline:
          [Tour_of_UGens]
          
-UGens을 audio rate으로 사용할때에는 .ar을 사용한다. 이때에 .ar을 message라 한다.;
SinOsc.ar
control rate: .kr
MouseX.kr

-Function내에서 사용될때에 UGens은 audio/control signals을 produce한다.

——————————————
http://csound.x-y.net
Ji Youn Kang,
Csound Max Community

Leave a Comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.