GSL Shell 学習:サブプログラムとしたいもの

2017-04-07 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
これまで、GSL Shell ( Lua ) についてあれこれ学習してきた。

これまでで学習した、有用な関数定義やコードスニペット等々をまとめて
サブプログラムを作りたい。


そこで、
思いつくまま1本の Lua プログラムにしてみた。

このまま、require しても使えるように、
或いは、中身を見てみる。
と云うことで、
仮に k_SUBs.lua と云う名前で纏めた。
----- k_SUBs.lua -----
charA = |x| ffi.cast( 'char*', x )
voidA = |x| ffi.cast( 'void*', x )
DblA = |x| ffi.cast( 'double*', x )
Int = |x| ffi.cast( 'int32_t', x )

---------------------------
ffi.cdef[[
typedef unsigned char Byte; typedef Byte Uint8;
typedef unsigned short Word; typedef Word WORD;
typedef unsigned int DWord; typedef DWord DWORD;
]]

--「GSL Shell 学習:split 関数(再)」で書いた関数
function split( str, sep )
if sep == nil then sep = '%s' end
local t={} ; i=1
for str in string.gmatch( str, "([^"..sep.."]+)") do
t[i] = str i=i+1
end
return t
end

--「GSL Shell 学習:フルパス名の分解」で書いた関数
function split_path( p )
return string.match( p, "(.-)([^\\]-([^%.]+))$" )
end

--「Lua 学習:fprintf 関数」で書いた関数の改訂版
function printf( f, s, ... ) --- 定義済み:stdin / stdout / stderr
f = f or io.stdout -- これを入れると、nil でもOK
f:write(s:format(...))
end

-- テキストファイル全体を一括で読み込む:
-- IN = io.open( IN_F ); wstr = IN:read('*a'); IN:close()

-- 上記を行毎の配列に分解 & 行数
-- w = split( wstr, '\n' ); nw = #w

-- 尚、1行分を要素毎の配列に分解 & 要素数( TAB 区切りの例 )
-- v = split( w[n], '\t' ); mv = #v

-------------------------------------
--[[ 入力 Dir 内ファイル一覧(リスト)
local lfs = require'lfs'
IN_Flist={}; zz=0
for f in lfs.dir(IN_Dir) do
-- f:sub(1,1) ~= '.' は特に必要無し
if f:find('.ext') then zz=zz+1; IN_Flist[zz]=f end
end
]]

----------
--[[ 出力 Dir クリア/作成
local lfs = require'lfs'
if lfs.chdir(OT_Dir) then
for f in lfs.dir('.') do
if f:sub(1,1) ~= '.' then os.remove(f) end
end
lfs.chdir('..'); lfs.rmdir(OT_Dir)
end
lfs.mkdir(OT_Dir)
]]

-------------------------------------
--[[
 クイックソート“qsort”
ブログ「Lua で、クイックソート“qsort”」で書いたコード

 interp2d ( spline 補間 )
ブログ「GSL Shell:2次元補間(interp2d)」で書いたコード

 solve ( bisect )
ブログ「Solve:二分法」で書いたコード
]]
先ずは、こんなところ。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170303
関連記事

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク