Lua 学習:ファイルのコピー

2017-06-12 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
Lua には、os.rename ( モジュール? 関数? ) がある。

なので、ファイルの移動は、

  os.rename( 'X:hoge/a.txt' , 'Y:/hoge2/a.txt' )

で行える。

さらに、

  os.rename( 'X:hoge/a.txt' , 'Y:/hoge2/b.txt' )

だと、名前の変更も同時に行える。


さて、“ファイルのコピー”はどうする?

「Lua copy file」で検索してみた。

“GitHub”の「premake/premake-4.x/os.copyfile」が見つかる。
が、
os.copyfile は見つからない?
(少なくとも GSL Shell では)


他には、
“Penlight Documentation”の「pl.file」が見つかった。

これって、
昨年2月(2016-02-08)の記事「GSL Shell 学習:StringIO」で書いた、
Penlight」の内の1つ。

使い方は、
require'pl';   utils.import 'pl.file'
copy( 'X:hoge/a.txt' , 'Y:/hoge2/b.txt' )
で行けそう。


これは便利ダ

この際、“Penlight”を導入しよう。

stevedonovan/Penlight」ページの右の方にある、
緑色の「Clone or download」ボタンをクリックし、
「Download ZIP」をクリック。

これで、
「Penlight-master.zip」 2016/01/01 付 239KB
がダウンロードできる。

書庫内の /Penlight-master/lua/pl フォルダ以下丸ごと 39 ファイルを、
GSL Shell に格納した:D:/TOOL/Lua/gsl-shell/gsl-shell/pl/ ここに 39 こ

これで、以前の“stringio.lua”はイラナイ(消した)。


それで、使い方としては、
require'pl';   utils.import 'pl.file'
copy( 'X:hoge/a.txt' , 'Y:/hoge2/b.txt' )
file=require'pl.file'
file.copy( 'X:hoge/a.txt' , 'Y:/hoge2/b.txt' )
require'pl'
file.copy( 'X:hoge/a.txt' , 'Y:/hoge2/b.txt' )
等々で行ける。

<紙>としては、
3番目の方法が、記述文字数が少なく且つ理解し易い。


他にも、“Penlight”には有用なものが多そう。

因みに、
ドキュメントのPurposeの書き出しは、

  It is often said of Lua that it does not include batteries.
  That is because the goal of Lua is to produce a lean expressive language
  that will be used on all sorts of machines,
   (some of which don't even have hierarchical filesystems).
  The Lua language is the equivalent of an operating system kernel;
  the creators of Lua do not see it as their responsibility to create
   a full software ecosystem around the language.
  That is the role of the community.

=== ( Google 翻訳 )

  Luaには電池が含まれていないことがよくあります。
  これは、Luaの目的は、すべての種類のマシン
   (階層的ファイルシステムを持たないものもあります)で使用される、
   細身の表現言語を生成することにあります。
  Lua言語は、オペレーティングシステムのカーネルに相当します。
  Luaのクリエイターは、言語の周りに完全なソフトウェアエコシステムを
   構築する責任としては見ません。
  それがコミュニティの役割です。

=== 余計分からない???

これではどうか?

(ダウンロードしたページのはじめににある説明)

  A set of pure Lua libraries focusing on input data handling
   (such as reading configuration files),
  functional programming
   (such as map, reduce, placeholder expressions,etc),
  and OS path management.
  Much of the functionality is inspired by the Python standard libraries.

=== ( Google 翻訳 )

  入力データ処理(構成ファイルの読み込みなど)、
  関数プログラミング(マップ、縮小、プレースホルダー式など)、
  およびOSパス管理に焦点を当てた純粋なLuaライブラリのセット。
  この機能の多くは、Pythonの標準ライブラリに触発されています。

=== かなり分かり易いカナ?


本日はここまで。


Lua ( GSL Shell ) / Penlight 学習は続く。


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


170506(160611)
スポンサーサイト
おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 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
ブックマーク