Lua 学習:Perl の、__DATA__ 相当は?

2016-08-09 :  PCクリニック
半年前(2016-02-08)の記事「GSL Shell 学習:StringIO
で、
  ・・・・・
  ・・・・・
  かれこれ2年前(2014-05-05)の記事:
  「Python 学習:Perl では、__DATA__
  において、
    ・・・・・
    ・・・・・
    2つ目(3)は、
      Use the StringIO module to create an in-source file-like object:
     ・・・・・
     ・・・・・
    ・・・・・
    ・・・・・
  と書いた。

  “Lua”ではどうなの?

  と云うことで検索してみた:「Lua StringIO」
  ・・・・・
  ・・・・・
と書いているが、


Perl に於ける、__DATA__

に対応するのは、

Lua では、“複数行文字列”と“split関数
で良さそう。
(ソース行の最後に複数行文字列を置く場合は、goto 文も使う)


実際のコードで使い方を例示。

半年前の記事で書いた、最後のコード(の前半):
local StringIO = require'stringio'
textdata = 'hogeHOGE\ntest TEST.\n'

f = StringIO.open( textdata )

for line in f:lines() do -- iterate over all lines
print( line )
end
に対応させるには、
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
----- 上の split 関数は、Lua には無いので定義。
----- 下の 複数行文字列 が、__DATA__ 相当
textdata = [[
hogeHOGE
test TEST.
]]

----- 以下が、StringIO もどき?!
line = split( textdata, '\n' )

for k=1,#line do
print( line[k] )
end
の如くでしょうか?


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


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


160703
関連記事
スポンサーサイト

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
06 | 2018/07 | 08
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 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

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

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


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

Google Analytics
ブックマーク