Home » 함수

함수

(Vim) 사용자 정의 함수를 작성하는 법

사용자 함수 정의

사용자 함수를 정의하는 명령은 :fu[nction]이다. 뒤에 !을 붙이면 이전에 정의한 함수를 새로 정의하게 된다. 해당 명령 이후에 :endfunction을 만날 때까지 이어지는 명령들은 모두 함수의 본문으로 인식된다.

:function 명령은 함수를 정의하는 것 외에 EX명령으로 모든 함수의 목록을 출력하는 기능을 가지고 있다. 이 때 함수 이름을 인자로 주면 해당 이름의 함수를 출력한다. 또 :function /{pattern}의 형식으로 호출하여 특정한 패턴의 이름을 가진 함수를 출력한다. 예를 들어 File로 끝나는 이름의 함수들은 :function /Files$ 명령으로 출력할 수 있다.

더 보기 »(Vim) 사용자 정의 함수를 작성하는 법

파이썬은 처음이라 – 함수는 처음이라

함수는 일련의 동작을 수행하는 코드를 묶어서 재사용하기 쉽도록 호출가능한 단위로 만든 것을 말한다. 수학적인 관점에서 함수는 어떠한 입력이 주어졌을 때, 그 입력값을 사용하여 어떤 연산을 처리하고 다시 그 결과를 되돌려주는 계산상자에 비유되기도 한다. 파이썬의 함수는 이러한 두 특성을 모두 가지는 코드 덩어리이다. 함수의 수학적인 정의를 말로 풀어내지 않더라도 “계산상자”나 혹은 자판기 같은 것을 생각하면 함수가 어떤 역할을 하는지 쉽게 비유할 수 있다. 커피 자판기를 함수로 본다면 동전을 넣으면 커피가 나오는 함수에 비유할 수 있다. 물론 우리 모두는 커피 자판기 내부에… 더 보기 »파이썬은 처음이라 – 함수는 처음이라

LiveScript 살펴보기 – 03 함수

LS에서 함수는 일반 문법 편에서 잠깐 언급했듯이 화살표를 써서 간단히 정의할 수 있다. 이 함수 표현에서 중요한 점 두 가지는 첫 째 우변은 하나 이상의 표현식이라는 점과 표현식이 순서대로 나열되는 경우 맨 마지막 표현식의 결과가 자동으로 리턴된다는 것이다. 함수 LS는 함수형 프로그래밍 언어의 스타일을 많이 도입했다고 하였다. 비록 LS가 진짜 순수한 함수형 언어는 아니지만, 함수형 언어의 스타일을 도입한다는 것은 LS내의 함수라는 것은 가급적 아래와 같은 특징을 갖도록 디자인되어야 한다는 것이다. 순수성 : 함수의 결과값이 순수하게 파라미터에만 의존할 것. 따라서 입력된… 더 보기 »LiveScript 살펴보기 – 03 함수

SCSS/SASS 문법 정리

SCSS는 기존 CSS 문법에 SASS문법을 섞은 것이며, SASS 컴파일러로 그대로 컴파일 될 수 있다. 이 글에서는  SCSS 문법을 기준으로 SASS의 각 기능을 사용하는 방법에 대해 설명하도록 하겠다. 기본문법 – 셀렉터 지정 및 속성 작성 SCSS의 기본문법은 기본적으로 CSS 기본 문법을 그대로 적용하고, 여기에 SASS 식의 치환가능한 요소들을 추가할 수 있다. 기본룰은 다음과 같다. 기본틀은 CSS 문법과 동일하다. 셀렉터를 쓰고 { .. } 블럭안에 속성:속성값; 의 형태로 속성들을 정의할 수 있다. nested block을 적용할 수 있다.  //을 이용해서 라인단위로 주석처리를 할… 더 보기 »SCSS/SASS 문법 정리

[C] 함수로 전달된 포인터

포인터를 함수의 인자로 받는 경우, 함수내에서 원본을 변경하는가. 내용이 너무 두서 없어서 포스트 전체를 수정합니다. 처음 의문이 든 부분은, 문자열을 가리키는 포인터를 함수로 넘겨주고 문자열을 변형하면 포인터의 값이 변하는가?라는것이었는데. 이는 사실 그리 어려운 문제가 아니다. 포인터는 메모리의 주소를 가리키는 타입의 변수이고 이는 사실 unsigned int 나 unsinged int64 등의 정수형과 비슷하게 숫자를(메모리 번지도 결국 숫자값이므로) 담는 변수이다. 그리고 함수에 선언된 인자는 함수 내부에서만 사용하는 지역변수이고, 표준 타입의 변수를 함수에 전달하면 그 값이 인자로 선언한 변수에 들어가는데, 이건 그냥 변수의 값이… 더 보기 »[C] 함수로 전달된 포인터

[C] 함수 내에서의 메모리 할당과 해제

함수에서의 메모리 할당과 해제

C에서의 메모리 할당/해제의 개념은 설명은 간단한데 실제 적용시에는 무척이나 어렵다. 물론 뉴비시절에 책 보고 따라 코드를 써볼 때에는 이게 그다지 와 닿지 않는다. 곰곰히 생각해보니 그런 책의 예제들은 그냥 숫자값만 다루다보니 그런 것 같다.
위 글에서 이어서 함수 하나를 만들어보자. 이 함수는 문자열 상수를 받아서 이를 대문자로 변경한 문자열을 만들어준다. 문자열 상수는 변경할 수 없으니, 새로운 문자열을 생성해야 한다. 기본적인 아이디어는 다음과 같이 구현된다.더 보기 »[C] 함수 내에서의 메모리 할당과 해제

[Python101] 005 함수,모듈, 그리고 도움이 되는 도구들

지난 시간까지 기본적인 프로그래밍에 필요한 “입출력”을 다루는 부분을 간단하게 나마 살펴보았다. 실제로 지금까지의 내용은 뭔가 설명이 필요하거나 개념적인 이해를 도모하는 부분과는 조금 거리가 있었고, 마치 조리법처럼 “이렇게 하면 이렇게 이렇게 됩니다.” 정도였기에 경우에 따라서는 조금 재미도 떨어지고 지겨운 부분이 없지 않아 있었을 것으로 생각된다. 이번 시간부터는 프로그램을 구성하는 단위와 이를 어떻게 만드는지, 그리고 프로그램의 흐름은 어떤 식으로 만들어지는지를 살펴보고자 한다. 모듈 모듈(Module)이라는 것은 다른 것으로 대체 가능한 어떤 구성 요소를 뜻하는데, 파이썬에서는 미리 만들어두었다가 필요할 때 꺼내 쓰는 레고 조각같은… 더 보기 »[Python101] 005 함수,모듈, 그리고 도움이 되는 도구들