新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


develop:oss:lua:lua-sample


Luaサンプル・スクリプト

表示テスト

test.lua
-- print test
for i=1, 10, 1 do
   print (i .. ": Hello world!")
end

素数を求める

prime.lua
-- 素数を求める
prime_list = {2}
 
for x = 3, 100, 2 do
  a = true
  for y = 1, #prime_list do
    z = prime_list[y]
    if x % z == 0 then
      a = false
      break
    end
  end
  if a then
    table.insert(prime_list, x)
  end
end
 
for x = 1, #prime_list do
  io.write(prime_list[x])
  io.write(" ")
end
io.write("\n")

素数を求める(関数編)

prime2.lua
-- 素数を求める(関数編)
 
-- 素数か?
function primep(x, prime_list)
  for i = 1, #prime_list do
    local y = prime_list[i]
    if y * y > x then
      break
    end
    if x % y == 0 then
      return false
    end
  end
  return true
end
 
-- 素数を求める
function prime(n)
  local prime_list = {2}
  for x = 3, n, 2 do
    if primep(x, prime_list) then
      table.insert(prime_list, x)
    end
  end
  return prime_list
end
 
for i, v in ipairs(prime(100)) do
   io.write(v)
   io.write(" ")
end
io.write("\n")

ファイル書き込み・読み出し

filetest.lua
-- File write and read test program
testfile = "/tmp/write.txt"
 
-- ファイル出力サンプル
print("<<< file write ==> " .. testfile .. " >>>")
 
-- io.openで、ファイルを開く
f = io.open(testfile, "w")
 
f:write("Luaから\n")
f:write("テキストファイルを\n")
f:write("出力してみます。\n")
 
-- 最後にf:closeでファイルを閉じる
f:close()
 
-- ファイル読み込みサンプル
print("<<< file read <== " .. testfile .. " >>>");
 
-- io.openで、ファイルを開く
f = io.open(testfile, "r")
 
-- f:linesで一行ずつテキストファイルを読み込む
for line in f:lines() do
    print(line)
end
 
-- 最後にf:closeでファイルを閉じる
f:close()

参考

develop/oss/lua/lua-sample.txt · 最終更新: 2021/05/13 09:38 by yoko