전체 글 724

명령행 인자 처리 예제 for Ruby and JRuby

Ruby 언어에서는 명령행 인자를 처리하는 변수로 ARGV를 미리 지정하여 놓았다. 소스 파일명: testArguments.rb # 명령행 인자(command-line argument) 개수 출력 print("Count of arguments: #{ARGV.length}\n") sum = 0.0 for i in 0...ARGV.length # 스트링을 부동소수점수로 변환하여 누적 sum += ARGV[i].to_f end # 누적된 값을 출력 print("The sum of arguments is %g\n" % sum) 실행> ruby testArguments.rb 1 2 3 4 Count of arguments: 4 The sum of arguments is 10 실행> ruby testArgument..

명령행 인자 처리 예제 for Python and Jython

Python 언어에서 명령행 인자는 sys.argv 라는 변수로 처리한다. sys.argv는 모듈 sys에 속하는 변수 argv를 의미하며, 이는 명령행 실행시 옵션으로 입력된 인자들을 스트링 값으로 모아둔 리스트형의 변수이다. 모듈 sys을 하기 위해서는 import sys 라는 수입(import) 구문을 소스 선두 부분에 적어주어야 한다. C/C++/Java/Ruby 언어들과는 달리 리스트의 0번의 값(즉 sys.argv[0])은 python 명령 바로 다음에 입력된 (실행될) Python 소스파일명을 가리키므로, 1번부터 처리해야 한다. 즉 Python 언어에서 sys.argv[1], sys.argv[2], sys.argv[3], ... 들이 각각 C 언어의 argv[0], argv[1], argv..

맹령행 인자 처리 예제 for C

소스 파일명: testArguments.c #include // printf 함수 사용을 위해 #include // atof 함수 사용을 위해 // argc는 명령행 인자 개수, argv는 명령행 인자 문자열의 배열 int main(int argc, char *argv[]) { int i; double sum = 0.0; // 초기화 // 명령행 인자(command-line argument) 개수 출력 printf("Count of arguments: %d\n", argc); for (i = 0; i < argc; i++) { // 스트링을 배정밀도 부동소수점수로 변환하여 누적 sum += atof(argv[i]); } // 배정밀도 부동소수점수 값을 %g로 출력 printf("The sum of arg..

프로그래밍/C 2008.02.18

명령행 인자 처리 예제 for Groovy

Groovy 언어에서 args는 예약어이다. 이는 Java 언어에서 main 메소드 정의 구문 public static void main(String[] args) { .............. } 에서 매개변수(파라미터) args와 동일한 기능을 같는다. Java 언어라면 이 main 매소드 정의 구문에서 다른 변수로 바꾸어도 되지만, Groovy 언어에서는 args가 에약어로 되어 있으므로 일반 변수 선언시 변수명을 args로 하지 않는 것이 좋다. 부분 문자열(스트링)을 구하기 위햐여 범위(range) 연산자 .. groovy testArguments.groovy 1 2 3 4.5 Count of arguments: 4 The sum of arguments is 10.5 이 저작물은 크리에이티브 커..

명령행 인자 처리 예제 for Java

소스 파일명: TestArguments.java public class TestArguments { // C 언어의 main 함수에 준하는 Java 언어의 main 메소드 public static void main(String[] args) { double sum = 0.0; // 초기화 // 명령행 인자(command-line argument) 개수 출력 System.out.println("Count of arguments: " + args.length); for (int i = 0; i < args.length; i++) { // 스트링을 배정밀도 부동소수점수로 변환하여 누적 sum += Double.parseDouble(args[i]); } // 출력 값이 ".0"으로 끝나는 경우 꼬리 제거하기 S..

[C++] iostream.h와 iostream의 차이점

는 C++의 표준안이 확립되기 전에, 관습처럼 사용되던 표준 입출력 라이브러리의 헤더였습니다. 현재의 C++표준안이 확립된 것은 1998년으로, 최초의 C++표준 문서는 ISO/IEC 14882:1998 이었죠. 따라서, 1998년 이전에 출시된 개발 툴은 관습적으로 헤더를 포함하여 나왔습니다. 표준안 논의 과정에서 네임스페이스가 포함되고, 모든 표준 라이브러리의 요소를 std 네임스페이스에 넣어야 한다고 결정함에 따라, 기존 헤더에 선언되어 있던 전역 요소들 때문에 더이상 같은 파일이름을 사용해서는 안되는 상황이 된 것이죠. 즉, 어떤 환경에서는 파일을 포함하면 cout이 std 네임스페이스에 소속되어 있어서 cout 이라는 이름을 사용자가 사용하였는데, 다른 환경에서는 표준 스트림 라이브러리의 cou..

프로그래밍/C++ 2008.02.17

객체를 이용한 구구단 출력 예제 for Ch and standard C++

C++ 언어는 C언어와 달리 객체지향(obeject oriented) 언어이다.C++ 언어에서 클래스(class) 라고 하는 것은 C 언어의 구조체(struct) 개념을 확장한 것이다.C 언어의 구조체(struct)는 자료(데이터)만 가질 수 있지만, C++ 언어의 클래스(class)는 자료 뿐만이 아니라 자료를 핸들링하는 메소드도 가질 수 있다.메소드란 클래스에 소속된다는 것이 C 언어의 함수와 구별된다.클래스 변수를 선언험과 동시에 클래스에 속한 자료와 메소드는 동적으로 로딩되어 힙(heap)이라는 메모리에 탑재된다.C 언어의 구조체 정의 구문 양식:  struct 구조체명 {      타입 변수명1;      타입 변수명2;          ...........      타입 변수명n;};C++ 언..

프로그래밍/Ch 2008.02.17

구구단 출력 예제 for Java

Java 언어는 C++ 언어 처럼 객체지향(obeject oriented) 언어이므로 함수(function)라는 개념이나 용어보다 메소드(method)라는 개념이나 용어를 더 많이 쓴다.동적으로(dynamically) 생성되어 힙(heap) 메모리에 존재하는 객체(obeject)에 소속되는 메소드가 아니라 클래스 자체에 소속되어 정적 메모리에 존재하는 메소드는 정적(스태틱, static) 메소드라고 한다. Java 언어에서 static 선언자를 붙여서 메소드를 정의하면 static 메소드가 된다. Java 언어의 static 메소드는 메모리 상에서의 그 동작이 C 언어의 함수의 것 비슷하다고 보면 된다.Java 언어의 메소드 정의 구문 양식과 for 반복문 양식은 C/C++의 것과 유사하다.다른 점은 접..

구구단 출력 예제 for Ch, C, and C++

Ch 언어의 구문을 C/C++의 것과 거의 같다. Ch 환경에서는 소스를 컴파일 하지 않고 그대로 실행시킨다는 것이 C/C++ 환경과 다를 뿐이다. C/C++/Ch/Java 언어의 함수 정의 구문 양식은 type functionName(parameters) { block } 이다. 또 C/C++/Ch/Java 언어의 for 반복문 양식은 for (varName = initialValue; condition; replicator) { block } 이다. 소스 파일명: forTest.ch ------------------------------[소스 시작] #include void printDan(int dan) { int i; for (i = 1; i < 10; i++) { printf("%d x %d =..

프로그래밍/Ch 2008.02.17