메뉴 건너뛰기

enjoyTools.net

#10 배열 및 PHP 스타일 array_search

2015.09.01 20:26

꿈돌이 조회 수:2282

LIST는 index를 지원하지 않기도 하고 SKILL에서 사용할 수 있는 배열/테이블 자료형이 제한적이라, 필요한 기능은 어쩔 수 없이 만들어 써야할 것 같다.


listToVector는 List 자료형을 배열로 만들어주는 명령이다.


myList = list("Hello" "World" "Wrestling" "Federation" "World")
myArr = listToVector(myList)

println(myArr[0])
println((arrayref myArr 1))

println(length(myArr))

; 주어진 값으로 배열을 검색하여 성공시 해당 키를 리스트로 반환
procedure( array_search(needle, target_array)
 let((count result)
  result = '()
  for(count 0 (length(target_array)-1)
   if(target_array[count] == needle
   then
    result = append(result list(count))
   )
  )

  if(length(result) > 0
  then
   prog(() return(result))
  else
   prog(() return(nil))
  )
 )
)

println(array_search("World", myArr))