본문 바로가기

뉴스

리눅스와 루비 상관관계, 와일드카드 추가

1. 리눅스와 루비

루비는 기본적으로 대부분의 리눅스 버전에 설치가 가능합니다, 그러나 여러 단계를 거쳐서 RUBY가 설치되어 있는지 확인하고 그렇지않은경우 Linux computer에  Ruby 인터프리터를 설치할 수 있습니다. 루비를 리눅스에 설치하는 방법은 우분투 기반에서 몇가지 방법에 따라서 이루어집니다. 아니 몇 가지 절차에 따라 루비가 설치되어 있는지 확인하고 설치를 진행할 수 있습니다.

1) 터미널 창을 오픈하고 보조프로그램에서 터미널을 선택하여 진행하십시오.

2) 명령을 실행하며 응답에 따라 대응할 수 있습니다, 오류 메시지가 표시되면 루비가 설치되어 있지 않은 것이니 다음 단계를 따라주십시오.

3) 현재 버전의 Ruby가 있는지 확인하려면 ruby-v 명령으로 확인해볼 수 있습니다.

4) 루비 다운로드 페이지에서 버전을 비교합니다. 너무 오래된 버전을 실행하면 일부 기능이 제한적일 수 있으니 삭제 후 최신버전을 설치해주십시오.

5) 마지막으로 적절한 루비 패키지를 설치하면됩니다. 루비는 여러가지 패키지, 앱을 설치해서 사용할 수 있으므로 배포판에 따라서 더욱 많은 기능을 다룰 수 있습니다.

 

test.rb ->

#!/usr/bin/env ruby

puts "hi ruby"

 

chmod +x test.rb

./test.rb

 

여러가지 버전에서 이런 메시지를 출력한다면 그것은 제대로 설치된 것이 맞습니다. 매일 지속가능한 서류를 바이러스로부터 지키기 위해서 백신 패키지도 설치하여 해킹을 방지하시길 바랍니다.

2. 와일드카드

루비는 여러 디렉토리에서 모든 XML파일과 같이 선택적으로 원하는 파일들을 가져갈 수 있습니다. 어떤 명령어는 정규식과 비슷하지만 루비는 와일드카드와 더 밀접한 관련이 있습니다. 디렉토리의 모든 파일을 반복하는 경우 와일드카드 메서드를 사용하여 수행할 수 있습니다. 이로써 루비의 기능적인 측면을 더욱 제대로 사용할 수 있다고 판단됩니다.

 

본론으로 들어가서... 여러 디렉토리에서 .rb로 끝이나는 파일들은 와일드카드에 별표를 추가하여 분리하는 것이 좋습니다. 별표는 다른 루비파일과 다름을 측정할 수 있으며 파일 확장명과 이전 마침표 앞에는 아무것도 표시하지 않는 것이 좋습니다. 어떤 규칙이 발견되면 그것을 일치시켜서 메서드를 반환하고 배열할 수 있습니다. 이런 반복문을 구사해보십시오.

 

 

 

#!/usr/bin/env ruby

Dir.glob('*.rb').each do/f/

puts f

end

 

와일드카드는 0개 이상의 문자를 일치시키므로 0부터 시작합니다. *로 구성된 다른 문자와 와일드카드는 제한적으로 모든 디렉토리에 관여합니다. 이러한것은 파일들이 일치하는 경우 기능을 멈추게됩니다. 디렉토리 트리에서 하위 디렉토리부터 최상위까지 모든 관련 파일을 써칭하므로 확장명을 통일하는 것이 좋습니다. 특히 예제 코드에서 살펴볼 수 있지만 .xml확장명이 문자집합과 모든 문자를 결합시키므로 동일한 구문에서 문자집합은 동일한 방식으로 동작합니다. 고려해야할 한 가지는 대/소문자 구분으로 이것의 가동여부는 운영 체제에 달려 있습니다. 리눅스와 윈도우에서는 동일한 파일도 다른 기능을 수행하니까 말이죠.

 

와일드카드사용예제를 간단히 들어보자면

#!/usr/bin/env ruby

#Get all .xml files

Dir['*.xml']

 

#xml확장명을 통일시켜 동일한 파일을 참조하는 것을 독립적으로나마 판단할 수 있씁니다.

 

#Descend into the directory tree and get all png images

#이런 디렉토리는 최상위에 접근할 수록 까다롭게 확장명을 걸러냅니다.