프로그래밍/Lua 20

이진 파일을 읽어서 16진수로 보여주는 HexView 소스 with Lua

Lua 언어 소스: -- Filename: testHexView_02.lua -- -- Execute: lua testHexView_02.lua [filename] -- -- Date: 2013. 7. 30. -- -- See: http://java.about.com/od/InputOutput/ss/Binary-Stream-Example-Code.htm function printUsage() print "Usage: lua testHexView_02.lua [filename]" end function toHex(b) local bit = require("bit") local s = "" local x1 = bit.rshift(bit.band(b, 0xF0), 4) local x2 = bit.band(b,..

프로그래밍/Lua 2013.08.05

Lua 언어로 역삼각함수, 역쌍곡선함수 값을 구하는 예제

역삼각함수란 삼각함수의 역함수를 의미하고, 역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다. 수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데, Lua 언어에서는 math.asin() 함수로 구현되어 있다. -- Filename: testArcSine.lua -- -- Execute: lua testArcSine.lua -- -- Date: 2013. 1. 1. -- Copyright (c) pkim _AT_ scripts.pe.kr function sin(x) local y = math.sin(x) return y end function asin(x) local y = math.asin(x) return y end function sinh(x) local y = math.sinh(x) retur..

프로그래밍/Lua 2013.01.01

스트링 리스트에서 스트링 찾기(find) with Lua

[파일명: testStringFindInList.lua]------------------------------------------------ function find(arr, s) for i = 1, #arr do if string.find(arr[i], s) ~= nil then return i end end return -1; end function printArray(arr) io.write("[") for i = 1, #arr - 1 do io.write(arr[i] .. ", ") end if #arr > 0 then io.write(arr[#arr]) end io.write("]\n") end words = { "하나", "둘", "셋", "넷", "다섯", "여섯" } io.write("l..

프로그래밍/Lua 2009.04.22

스트링 배열 정렬(sorting)하기 with Lua

[파일명: testSort.lua]------------------------------------------------ function find(arr, s) for i = 1, #arr do if string.find(arr[i], s) ~= nil then return i end end return -1; end function printArray(arr) io.write("[") for i = 1, #arr - 1 do io.write(arr[i] .. ", ") end if #arr > 0 then io.write(arr[#arr]) end io.write("]\n") end words = { "하나", "둘", "셋", "넷", "다섯", "여섯" } io.write("list: ") prin..

프로그래밍/Lua 2009.04.20

손으로 계산하는 긴자리 곱셈표 만들기 with Lua

초등학교 때 배우는 두 정수의 곱셈표를 만들어 주는 Lua 소스이다. --[[ Filename: makeMultTable.lua Print a multiplication table. Execute: lua makeMultTable.lua 230 5100 Date: 2009/03/06 --]] function printUsing() print("Using: lua makeMultTable.lua [number1] [number2]") print("Print a multiplication table for the given two integers.") end function printMultTable(x, y) nx = x if nx < 0 then nx = -nx end ny = y if ny < 0 th..

프로그래밍/Lua 2009.03.06

손으로 만드는 나눗셈 계산표 with Lua

다음은 초등학교에서 배우는 나눗셈 계산표를 만들어주는 Lua 소스 코드이다. 나눗셈 계산표를 완성하고 나서 약수, 배수 관계를 알려준다. --[[ Filename: makeDivisionTable.lua Purpose: Make a division table in a handy written form. Execute: lua makeDivisionTable.lua 12345 32 lua makeDivisionTable.lua 500210 61 Date: 2008/05/15 Author: PH Kim [ pkim ((AT)) scripts.pe.kr ] --]] function printUsage() -- print("Using: lua makeDivisionTable.lua [numerator] [den..

프로그래밍/Lua 2008.05.16

클래스 상속(subclassing) 예제 with Lua

Lua도 클래스 기반 객체지향 언어가 아니라 Self, Io, ECMAScript 언어들 처럼 프로토타입 기반 객체 지향 언어이다. Lua 언어에서 클래스 상속을 구현하기 위해서는 테이블과 함수가 필요하다. 아래의 소스 코드에서 inheritsFrom() 함수가 클래스 상속을 위해 구현돤 함수이다. Lua 언어도 Java 언어 처럼 대소문자 구별을 엄격히 하므로 클래스를 선언하고 그 클래스로 객체 생성할 때 대소문자 구별을 꼭 지켜야 한다. 다음은 두 개의 클래스로 구성되어 있다. Parent는 부모 클래스이고 Child는 Parent에서 상속 받은 자식 클래스이다. -- Filename: testSubclassing.lua -- -- A new inheritsFrom() function -- funct..

프로그래밍/Lua 2008.04.05

삼각형 출력 예제를 통한 여러 가지 소스 비교 with Lua

콘솔에 삼각형 * * * * * * * * * * * * * * * ***************** 을 출력하는 Lua 소스 코드를 작성해 보자. 이런 소스 코드의 작성은 학원이나 학교에서 프로그래밍 입문자에게 과제로 많이 주어지는 것 중의 하나이다. 코끼리를 보거나 만진 사람들이 저마다 그 생김새를 말할 때 제각기 다르게 표현할 수 있듯이 이런 소스 코드의 작성도 알고 보면 얼마든지 많은 방법이 있을 것이다. 여기서는 쉬운 코드 부터 작성해 보고 차츰차츰 소스를 바꾸어 가면서 Lua 프로그래밍의 기초부분을 터득해 보기로 한다. 모든 소스 코드에서는 삼각형 출력 부분 담당 함수 printTriange()를 별도로 구현하였다. 우선 첫번 째 예제는 Lua의 컨솔 출력 함수 print()의 사용법만 알면 누..

프로그래밍/Lua 2008.04.05

7비트 ASCII 코드표 만들기 예제 with Lua

ASCII(애스키)란 American Standard Code for Information Interchange의 줄임글로서, 영문자에 기초한 문자 인코딩이다. 이 문자 인코딩에는 C0 제어문자(C0 control character)도 포함되어 있다. ( 참고: ASCII - Wikipedia, the free encyclopedia ) 다음은 7bit ASCII 코드표를 만들어 보여주는 자바 소스 코드이다. 소스 코드 중에 진법변환에 필요한 함수 convertAtoI(string, radix) convertItoA(number, radix) 의 구현도 포함되어 있다. -- Filename: makeAsciiTable.lua -- Make a table of ascii codes. -- -- Execut..

프로그래밍/Lua 2008.03.31

진법(radix) 표 만들기 예제 with Lua

컴퓨터 프로그래밍에서 꼭 알아두어야 할 주요 진법은 당연히 10진법, 2진법, 8진법, 16진법이다. 다음은 0 에서 15 까지의 정수를 10진법, 2진법, 8진법, 16진법의 표로 만들어 보여주는 Lua 소스 코드이다. 진법 변환에 필요한 함수 convertAtoI(string, radix) convertItoA(number, radix) 를 Lua 코드로 자체 작성하여 사용하였다. -- Filename: makeRadixTable.lua -- Show the radix table with 10-, 2-, 8-, 16-radices. -- -- Execute: lua makeRadixTable.lua -- -- Date: 2008/03/28 -- Author: PH Kim [ pkim (AT) scri..

프로그래밍/Lua 2008.03.29