FC2ブログ

Lua 学習:文字列の連結を別の記号で

2017-12-15 :  PCクリニック
先日(2017-11-24)の記事「Python-like string formatting」で、

  getmetatable("").__mod = ・・・
関数を学習した。

これで、
  % (剰余) 演算子をオーバーライドすることができる。

他に何か出来ないか?・・・

+ (加算) 演算子 はどうか?
getmetatable("").__add = function( a, b )
return a .. b
end
と云ったもの。


本来の + (加算) 演算子 では、

数値+数値・・・数値の加算。
文字+数値・・・文字が数値を表すなら数値加算。で無ければエラー。
数値+文字・・・文字が数値を表すなら数値加算。で無ければエラー。
文字+文字・・・文字が数値を表すなら数値加算。で無ければエラー。


と成っているが、
上記の関数定義後は、


数値+数値・・・数値の加算。
文字+数値・・・文字が数値を表すなら数値加算。で無ければ文字列連結
数値+文字・・・文字が数値を表すなら数値加算。で無ければ文字列連結
文字+文字・・・文字が数値を表すなら数値加算。で無ければ文字列連結


となりますネ。



更に、他には?・・・

^ (ベキ) 演算子 はどうか?
getmetatable("").__pow = function( a, b )
return a .. b
end
と云ったもの。


本来の ^ (pow) 演算子 では、

数値^数値・・・本来のベキ演算。
文字^数値・・・文字が数値を表すならベキ演算。で無ければエラー。
数値^文字・・・文字が数値を表すならベキ演算。で無ければエラー。
文字^文字・・・文字が数値を表すならベキ演算。で無ければエラー。


と成っているが、
上記の関数定義後は、


数値^数値・・・数値のベキ演算。
文字^数値・・・文字が数値を表すならベキ演算。で無ければ文字列連結
数値^文字・・・文字が数値を表すならベキ演算。で無ければ文字列連結
文字^文字・・・文字が数値を表すならベキ演算。で無ければ文字列連結


となりますネ。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


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


171105,11
関連記事
スポンサーサイト

コメントの投稿

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

おきてがみ/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
ブックマーク