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

2016-08-09 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「Firefox」5位アップ。「化学業界」「硝子業界」「FM COCOLO」「e-radio」、
「グルコサミン」bg値変動。「Perl」「C言語」「Python」「FM青森」変化無し。
・-・ - -・

さて、本文。

半年前(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投票ボタン



おきてがみ

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