FC2ブログ

Python-like string formatting

2017-11-24 :  PCクリニック
前(2017-11-22)の記事「Microlight - a very compact Lua utilities module
に続いて、
Lua関連での捜しもので、

Lua Unofficial FAQ (uFAQ)

を見つけた。

このサイトは、

昨年2月(2016-02-18)の記事「GSL Shell 学習:require と、dofile
と、
同年3月(2016-03-06)の記事「GSL Shell 学習:グローバル・テーブル arg
で、参照している。


それで、
改めて中を見ていたら、

1.29 Is there string Interpolation, for example in "$VAR is expanded"?
に、

  Python-like string formatting can be done in Lua:
  Pythonの様な文字列フォーマッティングも Luaで出来る:
print( "%5.2f" % math.pi )
print( "%-10.10s %04d" % { "test", 123 } )
The implementation is short and cool:
実装は短く、かっこいい:
getmetatable("").__mod = function(a, b)
if not b then
return a
elseif type(b) == "table" then
return string.format(a, unpack(b))
else
return string.format(a, b)
end
end
  Lua strings share a metatable,
  so this code overrides the % (modulo) operator for all strings.
  Lua 文字列はメタテーブルを共有するので、
  このコードはすべての文字列の % (剰余) 演算子をオーバーライドする。


そうすると、
この、「関数定義」をしておけば、
string.format ( sprintf )も、
w = ( "%-10.10s %04d" % { "test", 123 } )
w = '%-10.10s %04d' % { 'test', 123 } -- これでもOK
も可能ダ。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


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


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

コメントの投稿

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

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



おきてがみ

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