목록programming (71)
관심있는 것들 정리
C, C++, Java i = 100; while(i > 0) { i--; } 또는 i = 100; do { printf("Hello world\n"); i--; } while (i > 0); Python i=0 while true: i = i + 1; if i == 0: break else: pass Ruby i = 0 while i 0 또는 2.times do puts "hello" end 또는 languages = %w(Perl Python Ruby Samll..
C, C++, JAVA if (a > b) { printf("a>b\n"); }else if (a > c) { printf("a > c\n"); }else { printf("etc\n"); ] Python if a > b: print "a > b" elif a > c: print "a > c" else: print "etc" Ruby if var == 10 print “Variable is 10” elsif var == “20” print “Variable is 20” else print “etc” end 또는 n=10 unless n.zero? puts "n is not zero" else puts "n is zero" end Bash if [ -d /usr/local ]; then # add your..
일반적으로 thread가 수행된 후 종료여부 판별 시 join을 사용한다. 그래서 다음과 같이 Threading으로 생성된 thread 객체들을 저장한 후 이를 join method로 체크한다 [ t.join() for t in threadSet] 이렇게 하면 문제는 blocking이 되어 버린다는 문제가 있다. 그래서 다음과 같이 isAlive method를 이용하면 blocking 없이 체크하는 것이 가능하다 while len(threadSet)>0: time.sleep(1)for thread in theadSet:ifnot thread.isAlive()print"Thread "+thread.getName()+" terminated" threadSet.remove(thread)
Ruby 관련 기본 사용법 및 예제가 잘 정리되어 있는 사이트 발견 --;상세 설명은 일본어로 되어있지만 사실 참고하는데는 큰 문제 없다. https://sites.google.com/site/hirubytuesday/
perl이나 python 쓸 때와 달리 ruby의 경우는 좀 생소하게 반복하는 방법들이 존재한다. 물론 모든 것들이 객체인 까닭이겠지만 나에게는 왠지 좀 서툴다 n번 반복 5.times { puts "*" } * * * * * => 5 n부터 n+x 까지 반복 3.upto(10) { |i| puts "#{i}" } 3 4 5 6 7 8 9 10 => 3 n부터 n+x까지 반복하되 일정 값씩 뛰어가며 반복 1.step(1,10) { |i| puts i } 1 4 7 10 => 1 n부터 n-x 까지 반복 3.downto(1) { |i| puts i } 3 2 1 => 3
대부분 script 언어를 사용할 경우 제일 먼저 체크하는 몇가지 기능을 제외하면 shell에서 사용시 file 관련 작업이 많다. Ruby의 경우 파일을 열어 사용하는 방법이 상당히 간단하다. 좀 더 상세한 내용은 class 문서를 보면 될 것 같고... 간단한 예제는 다음과 같다. 1. 파일을 열고 모든 라인 출력 File.open(filename) do |f| f.each {|line| print line } end 2. 파일을 열고 라인과 라인 번호를 출력 File.open(filename) do |f| f.each_with_index do |line, number| print "#{number}: #{line}" end end
Ruby는 환경설정 읽어오는 class가 따로 있어 상당히 쉽게 환경 변수를 읽어올 수 있다. 따로 require를 호출할 필요도 없다. ENV 클래스를 다음과 같이 이용하면 간단하게 환경변수를 읽어올 수 있다. #!/usr/bin/ruby puts ENV['SHELL'] 실행 결과$ ./env.rb /bin/bash