08 - Strings.lua

Last-modified: 2009-02-12 (木) 15:01:31

String関数については文字列制御を参照してください。


(scripts/08 - Strings.lua)

65
66
5   9
1   3   the
11   15   brown
nil
BC
CDEF
F
Equal
Press any key to exit
 
01:SCREEN_BOTTOM   = 0
02:BGBotText = Screen.LoadTextBG()
03:Screen.Initialize( SCREEN_BOTTOM, BGBotText )
04:
05:print( string.byte( "ABC" ) )
06:print( string.byte( "ABC", 2 ) )
07:
08:print( string.find( "the quick brown fox", "quick" ) )
09:print( string.find( "the quick brown fox", "(%a+)" ) )
10:print( string.find( "the quick brown fox", "(%a+)", 10 ) )
11:print( string.find( "the quick brown fox", "fruit" ) )
12:
13:print( string.sub( "ABCDEF", 2, 3 ) )
14:print( string.sub( "ABCDEF", 3 ) )
15:print( string.sub( "ABCDEF", -1 ) )
16:
17:if ( string.sub( "BAD", 2, 2 ) == "A" ) then
18:  print( "Equal" )
19:else
20:  print( "Not Equal" )
21:end
22:
23:print( "Press any key to exit" )
24:DSLua.WaitForAnyKey()

プログラムの解説

01:SCREEN_BOTTOM   = 0
02:BGBotText = Screen.LoadTextBG()
03:Screen.Initialize( SCREEN_BOTTOM, BGBotText )

いつもの初期化処理

 
05:print( string.byte( "ABC" ) )

Aの文字コードを返します(65)

 
06:print( string.byte( "ABC", 2 ) )

"ABC"の2文字目の文字コードを返します(66)

 
08:print( string.find( "the quick brown fox", "quick" ) )

最初に"quick"という文字列が出現する位置を返します(5, 9)

 
09:print( string.find( "the quick brown fox", "(%a+)" ) )

最初の単語とその位置を返します(1, 3, the)

 
10:print( string.find( "the quick brown fox", "(%a+)", 10 ) )

10文字目以降の最初の単語とその位置を返します(11, 15, brown)

 
11:print( string.find( "the quick brown fox", "fruit" ) )

"fruit"で検索をかけますが存在しないのでnilを返します

 
13:print( string.sub( "ABCDEF", 2, 3 ) )

2文字目から3文字目まで返します(BC)

 
14:print( string.sub( "ABCDEF", 3 ) )

3文字目以降を返します(CDEF)

 
15:print( string.sub( "ABCDEF", -1 ) )

後ろから1文字返します

 
17:if ( string.sub( "BAD", 2, 2 ) == "A" ) then
18:  print( "Equal" )
19:else
20:  print( "Not Equal" )
21:end

"BAD"の2文字目から2文字目まで抜き出し、"A"と比較
等しいので"Equal"と表示します

 
23:print( "Press any key to exit" )
24:DSLua.WaitForAnyKey()

ボタンを何か押したら終了

 

コメント