Home English

Kuina-chan

くいなちゃんDec 15, 2017


プログラミング言語Kuin」の組み込みメソッドについてです。

Kuinの組み込みメソッド

Kuinでは、クラス以外の基本的な型にもメソッドが用意されています。 これらは組み込みで用意されており、ユーザが追加したり変更することはできません。
Kuinにおける組み込みメソッドはKuinの組み込みメソッドの通りです。
Kuinの組み込みメソッド
メソッド 対象となる型 説明
abs int、float 絶対値
add list、stack、
queue、dict
要素の追加
and bit型、enum ビットごとの論理積
clamp int、float 値のクランプ
clampMax int、float 値の最大値をクランプ
clampMin int、float 値の最小値をクランプ
del list ポインタ位置の要素を削除
delNext list ポインタの次の位置の要素を削除
endian bit型 エンディアンの変換
exist dict 値が存在するかを取得
fill 配列 配列を同じ値で埋める
find 配列 配列から要素を検索
findBin 配列 配列から要素を二分探索
findLast 配列 配列から要素を逆順検索
findStr []char 文字列から部分文字列を検索
findStrLast []char 文字列から部分文字列を逆順検索
findStrEx []char 文字列から部分文字列を高機能検索
forEach dict すべての値を走査
get list、stack、
queue、dict
要素の取得
getOffset list 指定位置の要素の取得
head list ポインタを先頭に移動
ins list ポインタ位置に要素を挿入
join [][]char 文字列の配列を結合
lower []char 文字列の小文字化
max 配列 配列から最大の要素を取得
min 配列 配列から最小の要素を取得
moveOffset list ポインタを指定位置に移動
next list ポインタを次に移動
not bit型、enum ビットごとの論理否定
offset char 文字コードのオフセット
or bit型、enum ビットごとの論理和
peek stack、queue 要素を削除せずに取得
prev list ポインタを前に移動
repeat 配列 同じ配列を繰り返して配列を作成
replace []char 文字列の置換
reverse 配列 配列の逆順
sar bit型 右算術シフト
shl bit型 左論理シフト
shr bit型 右論理シフト
shuffle 配列 配列のシャッフル
sign int、float 符号
sort 配列、list 昇順ソート
sortDesc 配列、list 降順ソート
split []char 文字列を区切り文字列で分割
sub 配列 配列の部分切り出し
tail list ポインタを末尾に移動
term list ポインタがnullかどうかを取得
termOffset list 指定位置がnullかどうかを取得
toArray list リストの配列化
toArrayKey dict dictのキーの配列化
toArrayValue dict dictの値の配列化
toFloat []char float型に変換
toInt []char int型に変換
toStr int、float、
char、bool、
bit型、[]char
値の文字列化
toStrFmt int、float 書式指定による値の文字列化
trim []char 文字列の左右の空白文字の削除
trimLeft []char 文字列の左の空白文字の削除
trimRight []char 文字列の右の空白文字の削除
upper []char 文字列の大文字化
xor bit型、enum ビットごとの排他的論理和

abs

「abs」はint、floatの絶対値を求めるメソッドです(absメソッドの定義)。
absメソッドの定義

 func abs(): 自身の型

戻り値 自身の絶対値
絶対値とは、符号を正に変える演算です。 例えば「(-3).abs()」は「3」になり、「(5.2).abs()」は「5.2」になります。

add

「add」は要素を追加するメソッドで、list、stack、queue、dictに用意されています。

list.add

listの「add」メソッドはlist.addメソッドの定義の通りです。
list.addメソッドの定義

 func add(item: 要素の型)

item 追加する要素

stack.add

stackの「add」メソッドはstack.addメソッドの定義の通りです。
stack.addメソッドの定義

 func add(item: 要素の型)

item 追加する要素

queue.add

queueの「add」メソッドはqueue.addメソッドの定義の通りです。
queue.addメソッドの定義

 func add(item: 要素の型)

item 追加する要素

dict.add

dictの「add」メソッドはdict.addメソッドの定義の通りです。
dict.addメソッドの定義

 func add(key: キーの型, item: 要素の型)

key 追加する要素のキー
item 追加する要素
「key」はnull以外の値でなければなりません。

and

「and」はビット型、enumの、ビットごとの論理積を求めるメソッドです(andメソッドの定義)。
andメソッドの定義

 func and(n: 自身の型): 自身の型

n 任意の値
戻り値 nとのビットごとの論理積

clamp

「clamp」はint、floatの値を最小値と最大値でクランプするメソッドです(clampメソッドの定義)。
clampメソッドの定義

 func clamp(min: 自身の型, max: 自身の型): 自身の型

min 最小値
max 最大値
戻り値 値がminより小さいときはmin、値がmaxより大きいときはmax、それ以外はそのままの値
「clamp」が生成する例外はclamp関数の例外の通りです。
clamp関数の例外
発生条件 ビルド 例外コード
(16進数)
「min」が「max」より大きい dbgのみ E9170006

clampMax

「clampMax」はint、floatの値を最大値でクランプするメソッドです(clampMaxメソッドの定義)。
clampMaxメソッドの定義

 func clampMax(max: 自身の型): 自身の型

max 最大値
戻り値 値がmaxより大きいときはmax、それ以外はそのままの値

clampMin

「clampMin」はint、floatの値を最小値でクランプするメソッドです(clampMinメソッドの定義)。
clampMinメソッドの定義

 func clampMin(min: 自身の型): 自身の型

min 最小値
戻り値 値がminより小さいときはmin、それ以外はそのままの値

del

「del」はリストのポインタの位置の要素を削除し、その次の要素の位置にポインタを進めるメソッドです(delメソッドの定義)。
delメソッドの定義

 func del()

次の要素が存在しないとき、ポインタは終端(null)に設定されます。
既にポインタが終端(null)ならばデバッグ実行時に例外(C0000005)が発生します。

delNext

「delNext」はリストのポインタの次の位置の要素を削除するメソッドです(delNextメソッドの定義)。
delNextメソッドの定義

 func delNext()

ポインタが終端(null)もしくは次の要素が存在しないならばデバッグ実行時に例外(C0000005)が発生します。

endian

「endian」はビット型のエンディアンを変換するメソッドです(endianメソッドの定義)。
endianメソッドの定義

 func endian(): 自身の型

戻り値 エンディアンを変換した値
リトルエンディアンの値はビッグエンディアンになり、ビッグエンディアンの値はリトルエンディアンになります。

exist

「exist」メソッドはdictに、指定したキーの要素が存在するかどうかを取得するメソッドです(existメソッドの定義)。
existメソッドの定義

 func exist(key: キーの型): bool

key 存在を確認するキー
戻り値 「key」に対応する要素が存在するならtrue、しないならfalse
「key」はnull以外の値でなければなりません。

fill

「fill」は配列を同じ値で埋めるメソッドです(fillメソッドの定義)。
fillメソッドの定義

 func fill(value: 要素の型)

value 上書きする値
fillメソッドを呼び出すと、現在確保している配列の各要素をvalueの値で上書きします。 一括で初期化する場合に使用します。

find

「find」は配列の先頭から末尾に向かって指定した要素を探し、最初に見つかった要素の位置を返すメソッドです(findメソッドの定義)。
findメソッドの定義

 func find(item: 要素の型, start: int): int

item 検索する要素
start 検索を開始する位置。 すべて検索する場合は-1を指定
戻り値 見つかった位置。 1つも見つからなかった場合は「-1」
「start」が-1でも配列の範囲内でもないとき、この関数は-1を返します。

findBin

「findBin」は昇順にソート済みの配列中から指定した要素を二分探索するメソッドです(findBinメソッドの定義)。
findBinメソッドの定義

 func findBin(item: 要素の型): int

item 検索する要素
戻り値 見つかった位置。 見つからなかった場合は「-1」
データが昇順にソートされている必要がありますが、「find」「findLast」メソッドに比べて検索速度は非常に速いです。
findBinメソッドの仕様はfindBinメソッドの仕様の通りです。
  • 複数見つかった場合はそのいずれかが返るが、どれが返るかは判らない。
  • データが昇順にソートされていなかった場合は例外は発生せず、正しい結果も返らない。
findBinメソッドの仕様

findLast

「findLast」は配列の末尾から先頭に向かって逆順で指定した要素を探し、最初に見つかった要素の位置を返すメソッドです(findLastメソッドの定義)。
findLastメソッドの定義

 func findLast(item: 要素の型, start: int): int

item 検索する要素
start 検索を開始する位置。 すべて検索する場合は-1を指定
戻り値 見つかった位置。 1つも見つからなかった場合は「-1」
「start」が-1でも配列の範囲内でもないとき、この関数は-1を返します。

findStr

「findStr」は文字列の先頭から末尾に向かって指定した部分文字列を探し、最初に見つかった位置を返すメソッドです(findStrメソッドの定義)。
findStrメソッドの定義

 func findStr(pattern: []char, start: int): int

pattern 検索する部分文字列
start 検索を開始する位置。 すべて検索する場合は-1を指定
戻り値 見つかった位置。 1つも見つからなかった場合は「-1」
「start」が-1でも配列の範囲内でもないとき、この関数は-1を返します。

findStrLast

「findStrLast」は文字列の末尾から先頭に向かって逆順で指定した部分文字列を探し、最初に見つかった位置を返すメソッドです(findStrLastメソッドの定義)。
findStrLastメソッドの定義

 func findStrLast(pattern: []char, start: int): int

pattern 検索する部分文字列
start 検索を開始する位置。 すべて検索する場合は-1を指定
戻り値 見つかった位置。 1つも見つからなかった場合は「-1」
「start」が-1でも配列の範囲内でもないとき、この関数は-1を返します。

findStrEx

「findStrEx」は文字列から指定した部分文字列を探し、最初に見つかった位置を返すメソッドです(findStrExメソッドの定義)。
findStrExメソッドの定義

 func findStrEx(pattern: []char, start: int, fromLast: bool, ignoreCase: bool, wholeWord: bool): int

pattern 検索する部分文字列
start 検索を開始する位置。 すべて検索する場合は-1を指定
fromLast 末尾から先頭に向かって逆順に検索するならtrue、先頭から末尾に向かって検索するならfalse
ignoreCase 大文字と小文字を無視するならtrue、区別するならfalse
wholeWord 単語単位のみを検索するならtrue、それ以外ならfalse
戻り値 見つかった位置。 1つも見つからなかった場合は「-1」
findStrExメソッドの仕様はfindStrExメソッドの仕様の通りです。
  • wholeWordにtrueを指定した場合、見つかった文字列の前後が半角英数字もしくは半角の「_」ならば無視して検索を続行する。
findStrExメソッドの仕様
「start」が-1でも配列の範囲内でもないとき、この関数は-1を返します。

forEach

「forEach」メソッドはdictの全要素を走査するメソッドです(forEachメソッドの定義)。
forEachメソッドの定義

 func forEach(callback: func<(キーの型, 要素の型): bool>, data: kuin@Class): bool

callback dictの各キーと要素のペアに対して呼ばれるコールバック関数
data コールバック関数に渡される任意のデータ
戻り値 走査が最後まで完了したらtrue、中断したらfalse
コールバック関数には、各キーと要素のペアが渡されるため、その関数内で目的の処理を行います。
forEachメソッドの使用例はforEachメソッドの例の通りです。
class Item()
  +var str: []char
  +var maxValue: int
end class
  
func main()
  var d: dict<[]char, int> :: #dict<[]char, int>
  do d.add("A", 1)
  do d.add("C", 3)
  do d.add("B", 2)
  
  var item: @Item :: #@Item
  do item.maxValue :: 0
  do d.forEach(search, item)
  do cui@print("\{item.str}, \{item.maxValue}") {C, 3}
  
  func search(key: []char, value: int, data: @Item): bool
    if(data.maxValue < value)
      do data.str :: key
      do data.maxValue :: value
    end if
    ret true
  end func
end func
forEachメソッドの例
12行目で@Item型のインスタンスを生成し、14行目でforEachメソッドを呼び出すときにコールバック関数「search」と一緒に渡しています。 コールバック関数内は、@Itemのインスタンスの値を適宜更新しながら、valueが最大になる要素を見つける処理になっています。
コールバック関数の戻り値がtrueなら走査は続行され、falseなら走査が中断してforEachの呼び出しを抜けます。 この例では常にtrueを返して最後の要素まで走査しています。
forEachメソッドの仕様はforEachメソッドの仕様の通りです。
  • コールバック関数は、キーが最小のものから昇順になるように呼び出される。
  • コールバック関数内でキーの値を書き換えてはならない。
forEachメソッドの仕様

get

「get」は要素を取得するメソッドで、list、stack、queue、dictに用意されています。

list.get

listの「get」メソッドはlist.getメソッドの定義の通りです。
list.getメソッドの定義

 func get(): 要素の型

戻り値 ポインタの位置の要素
ポインタが終端(null)ならばデバッグ実行時に例外(C0000005)が発生します。

stack.get

stackの「get」メソッドは要素を取得して削除します(stack.getメソッドの定義)。
stack.getメソッドの定義

 func get(): 要素の型

戻り値 取得した要素
要素を削除せずに取得だけを行う場合は「peek」メソッドを使用します。
stackが空ならばデバッグ実行時に例外(C0000005)が発生します。

queue.get

queueの「get」メソッドは要素を取得して削除します(queue.getメソッドの定義)。
queue.getメソッドの定義

 func get(): 要素の型

戻り値 取得した要素
queueが空ならばデバッグ実行時に例外(C0000005)が発生します。
要素を削除せずに取得だけを行う場合は「peek」メソッドを使用します。

dict.get

dictの「get」メソッドはdict.getメソッドの定義の通りです。
dict.getメソッドの定義

 func get(key: キーの型): 要素の型

key 検索する要素のキー
戻り値 「key」に対応する要素
「key」はnull以外の値でなければなりません。

getOffset

「getOffset」はリストのポインタからのオフセットの位置の要素を取得するメソッドです(getOffsetメソッドの定義)。
getOffsetメソッドの定義

 func getOffset(offset: int): 要素の型

offset ポインタからのオフセット
戻り値 ポインタからのオフセットの位置の要素
取得しようとした位置が終端(null)ならばデバッグ実行時に例外(C0000005)が発生します。

head

「head」はリストのポインタを先頭の要素の位置に設定するメソッドです(headメソッドの定義)。
headメソッドの定義

 func head()

ins

「ins」はリストのポインタがその位置の要素を指すようにしたまま、その前に要素を挿入するメソッドです(insメソッドの定義)。
insメソッドの定義

 func ins(item: 要素の型)

item 挿入する要素
ポインタが終端(null)ならばデバッグ実行時に例外(C0000005)が発生します。

join

「join」は文字列の配列の各要素を区切り文字により、1つの文字列に結合するメソッドです(joinメソッドの定義)。
joinメソッドの定義

 func join(delimiter: []char): []char

delimiter 区切り文字
戻り値 区切り文字によって結合された文字列
例えば「["abc", "def", "", "g"].join('*')」を呼び出すと、「"abc*def**g"」が返ります。

lower

「lower」は文字列中の大文字を小文字に変換するメソッドです(lowerメソッドの定義)。
lowerメソッドの定義

 func lower(): []char

戻り値 小文字化された文字列
半角アルファベットの大文字のみが変換されます。

max

「max」は配列から最大の要素を取得するメソッドです(maxメソッドの定義)。
maxメソッドの定義

 func max(): 要素の型

戻り値 最大の要素
例えば、「[2, 4, 1, 3].max()」は「4」が返ります。

min

「min」は配列から最小の要素を取得するメソッドです(minメソッドの定義)。
minメソッドの定義

 func min(): 要素の型

戻り値 最小の要素
例えば、「[2, 4, 1, 3].min()」は「1」が返ります。

moveOffset

「moveOffset」はリストのポインタをオフセットの位置に移動させるメソッドです(moveOffsetメソッドの定義)。
moveOffsetメソッドの定義

 func moveOffset(offset: int)

offset ポインタからのオフセット
オフセットの位置の要素が存在しないとき、ポインタは終端(null)に設定されます。

next

「next」はリストのポインタを次の要素の位置に進めるメソッドです(nextメソッドの定義)。
nextメソッドの定義

 func next()

次の要素が存在しないとき、ポインタは終端(null)に設定されます。
既にポインタが終端(null)ならばデバッグ実行時に例外(C0000005)が発生します。

not

「not」はビット型、enumの、ビットごとの論理否定を求めるメソッドです(notメソッドの定義)。
notメソッドの定義

 func not(): 自身の型

戻り値 ビットごとの論理否定

offset

「offset」はcharの文字コードにオフセットを適用させる演算子です(offsetメソッドの定義)。
offsetメソッドの定義

 func offset(n: int): char

n オフセット値
戻り値 文字コードにnを加算した文字
例えば、「'C'.offset(-2)」とすると、「'C'」の文字コードは67ですので、-2を加算した、文字コード65の文字「'A'」が返ります。
このメソッドはオーバーフローしても例外を発生しません。

or

「or」はビット型、enumの、ビットごとの論理和を求めるメソッドです(orメソッドの定義)。
orメソッドの定義

 func or(n: 自身の型): 自身の型

n 任意の値
戻り値 nとのビットごとの論理和

peek

「peek」は次に取得される要素を削除せずに取得するメソッドで、stack、queueに用意されています(peekメソッドの定義)。
peekメソッドの定義

 func peek(): 要素の型

戻り値 次に取得される要素
stackやqueueが空ならばデバッグ実行時に例外(C0000005)が発生します。

prev

「prev」はリストのポインタを前の要素の位置に戻すメソッドです(prevメソッドの定義)。
prevメソッドの定義

 func prev()

前の要素が存在しないとき、ポインタは終端(null)に設定されます。
既にポインタが終端(null)ならばデバッグ実行時に例外(C0000005)が発生します。

repeat

「repeat」は同じ配列を繰り返して配列を作成するメソッドです(repeatメソッドの定義)。
repeatメソッドの定義

 func repeat(len: int): 自身の型

len 配列の長さ
戻り値 自身をlenの数だけ繰り返した配列
例えば、「"ab".repeat(5)」は「"ababababab"」が返ります。

replace

「replace」は文字列中に含まれる指定文字列を、別の文字列に置換するメソッドです(replaceメソッドの定義)。
replaceメソッドの定義

 func replace(old: []char, new: []char): []char

old 古い文字列
new 新しい文字列
戻り値 置換後の文字列
例えば「"cdabcdcdeabcd".replace("cd", "*")」を呼び出すと、「"*ab**eab*"」が返ります。

reverse

「reverse」は配列の並びを逆順にするメソッドです(reverseメソッドの定義)。
reverseメソッドの定義

 func reverse()

このメソッドは自身のインスタンスを並び替えるため、元のデータを残したい場合は事前に「##演算子」でディープコピーを行ってください。

sar

「sar」はビット型の右算術シフトを求めるメソッドです(sarメソッドの定義)。
sarメソッドの定義

 func sar(n: 自身の型): 自身の型

n 任意の値
戻り値 nビットだけ右算術シフトした値
設計の理由
 「sar」という名前はx86アセンブリに由来します。 「Shift Arithmetic Right」の略称です。

shl

「shl」はビット型の左論理シフトを求めるメソッドです(shlメソッドの定義)。
shlメソッドの定義

 func shl(n: 自身の型): 自身の型

n 任意の値
戻り値 nビットだけ左論理シフトした値
設計の理由
 「shl」という名前はx86アセンブリに由来します。 「SHift logical Left」の略称です。
左算術シフトは、左論理シフトと常に同じ結果となるためこの「shl」で代用します。

shr

「shr」はビット型の右論理シフトを求めるメソッドです(shrメソッドの定義)。
shrメソッドの定義

 func shr(n: 自身の型): 自身の型

n 任意の値
戻り値 nビットだけ右論理シフトした値
設計の理由
 「shr」という名前はx86アセンブリに由来します。 「SHift logical Right」の略称です。

shuffle

「shuffle」は配列をランダムに並び替えるメソッドです(shuffleメソッドの定義)。
shuffleメソッドの定義

 func shuffle()

shuffleメソッドの仕様はshuffleメソッドの仕様の通りです。
  • 並び替えにはメルセンヌツイスタが使われ、どの要素がどこに配置されるかが均等な確率になるように並び替わる。
shuffleメソッドの仕様
このメソッドは自身のインスタンスを並び替えるため、元のデータを残したい場合は事前に「##演算子」でディープコピーを行ってください。

sign

「sign」はint、floatの符号を求めるメソッドです(signメソッドの定義)。
signメソッドの定義

 func sign(): 自身の型

戻り値 自身の値が正なら1、負なら-1、0なら0が返る
例えば「(-3).sign()」は「-1」になり、「(5.2).sign()」は「1.0」になります。

sort

「sort」は配列やlistを昇順に並び替えるメソッドです(sortメソッドの定義)。
sortメソッドの定義

 func sort()

sortメソッドの仕様はsortメソッドの仕様の通りです。
  • 並び替えは要素の型に定義された比較演算を使って、安定ソートで行われる。
sortメソッドの仕様
このメソッドは自身のインスタンスを並び替えるため、元のデータを残したい場合は事前に「##演算子」でディープコピーを行ってください。

sortDesc

「sortDesc」は配列やlistを降順に並び替えるメソッドです(sortDescメソッドの定義)。
sortDescメソッドの定義

 func sortDesc()

sortDescメソッドの仕様はsortDescメソッドの仕様の通りです。
  • 並び替えは要素の型に定義された比較演算を使って、安定ソートで行われる。
sortDescメソッドの仕様
このメソッドは自身のインスタンスを並び替えるため、元のデータを残したい場合は事前に「##演算子」でディープコピーを行ってください。

split

「split」は文字列を区切り文字列により、複数の文字列に分割するメソッドです(splitメソッドの定義)。
splitメソッドの定義

 func split(delimiter: []char): [][]char

delimiter 区切り文字列
戻り値 区切り文字列によって分割された文字列
例えば「"abc*def**g".split("*")」を呼び出すと、「["abc", "def", "", "g"]」が返ります。

sub

「sub」は配列の一部を切り出して新しいインスタンスとして返すメソッドです(subメソッドの定義)。
subメソッドの定義

 func sub(start: int, len: int): 自身の型

start 切り出す部分の先頭の要素番号
len 切り出す長さ。 「-1」を指定すると終端まで切り出す
戻り値 切り出した配列
subメソッドの仕様はsubメソッドの仕様の通りです。
  • startやlenで指定された領域が実際の配列の領域から外れた場合、デバッグ実行時に例外(E9170002)が発生する。
subメソッドの仕様

tail

「tail」はリストのポインタを末尾の要素の位置に設定するメソッドです(tailメソッドの定義)。
tailメソッドの定義

 func tail()

term

「term」はリストのポインタが終端(null)かどうかを返すメソッドです(termメソッドの定義)。
termメソッドの定義

 func term(): bool

戻り値 ポインタが終端(null)かどうか
「next」メソッドや「prev」メソッドなどによってポインタが終端にたどり着いたときにはポインタはnullに設定されるため、終端にたどり着いたかどうかをこの「term」メソッドで取得できます。

termOffset

「termOffset」はリストのポインタからのオフセットの位置が終端(null)かどうかを返すメソッドです(termOffsetメソッドの定義)。
termOffsetメソッドの定義

 func termOffset(offset: int): bool

offset ポインタからのオフセット
戻り値 ポインタからのオフセットの位置が終端(null)かどうか
ポインタが既に終端(null)のときや、オフセットの位置の要素が存在しないときもtrueが返ります。

toArray

「toArray」はリストを配列に変換するメソッドです(toArrayメソッドの定義)。
toArrayメソッドの定義

 func toArray(): リストの要素の型を要素とする配列の型

戻り値 変換された配列

toArrayKey

「toArrayKey」はdictのキーを配列に変換するメソッドです(toArrayKeyメソッドの定義)。
toArrayKeyメソッドの定義

 func toArrayKey(): dictのキーの型を要素とする配列の型

戻り値 変換された配列

toArrayValue

「toArrayValue」はdictの値を配列に変換するメソッドです(toArrayValueメソッドの定義)。
toArrayValueメソッドの定義

 func toArrayValue(): dictの値の型を要素とする配列の型

戻り値 変換された配列

toFloat

「toFloat」は文字列からfloat値に変換するメソッドです(toFloatメソッドの定義)。
toFloatメソッドの定義

 func toFloat(value: &float): bool

value 変換されたfloat値
戻り値 変換に成功したらtrue、変換できない文字列が指定されたらfalse

toInt

「toInt」は文字列からint値に変換するメソッドです(toIntメソッドの定義)。
toIntメソッドの定義

 func toInt(value: &int): bool

value 変換されたint値
戻り値 変換に成功したらtrue、変換できない文字列が指定されたらfalse

toStr

「toStr」は値を文字列に変換するメソッドで、int、float、char、bool、ビット型、[]charに用意されています(toStrメソッドの定義)。
toStrメソッドの定義

 func toStr(): []char

戻り値 変換された文字列
toStrメソッドの戻り値の例は、「toStr」メソッドの戻り値の例です。
toStrメソッドの戻り値の例
戻り値
(5).toStr() "5"
(3.14).toStr() "3.14"
('A').toStr() "A"
(true).toStr() "true"
(16#12b8).toStr() "0x12"
(16#1234b16).toStr() "0x1234"
(16#12345678b32).toStr() "0x12345678"
(16#123456789ABCDEF0b64).toStr() "0x123456789ABCDEF0"

toStrFmt

「toStrFmt」は値を書式指定によって文字列に変換するメソッドで、int、floatに用意されています(toStrFmtメソッドの定義)。
toStrFmtメソッドの定義

 func toStrFmt(fmt: []char): []char

fmt 書式
戻り値 変換された文字列
fmtの形式はtoStrFmtの書式の通りで、上から順に指定します。
toStrFmtの書式
項目 表記 説明
符号 省略 正なら符号は出力されず、負なら先頭に「-」
+ 正なら先頭に「+」、負なら先頭に「-」
(スペース) 正なら先頭にスペース、負なら先頭に「-」
詰め方 省略 左をスペースで埋めて右揃え
- 右をスペースで埋めて左揃え
0 左を「0」で埋めて右揃え
最小文字数 省略 自動で調整
1以上の整数 出力される文字列が指定した数より短いとき、
「詰め方」に従って余白が入る
小数点以下の桁数
(floatのみ)
省略 小数点以下を6桁で出力
「.」と0以上の整数 指定した桁数だけ小数点以下の値を出力
表記 d(intのみ) 10進数で出力
x(intのみ) 16進数で「a」から「f」を小文字で出力
X(intのみ) 16進数で「A」から「F」を大文字で出力
f(floatのみ) 一般的な表記で出力
e(floatのみ) 指数表記で出力
g(floatのみ) fとeの文字数の短いほうで出力

trim

「trim」は文字列の左右の空白文字を削除するメソッドです(trimメソッドの定義)。
trimメソッドの定義

 func trim(): []char

戻り値 左右の空白文字が削除された文字列
削除される空白文字は、16進数で「09(タブ文字)」「0A(改行)」「0B」「0C」「0D」「20(スペース)」「A0」の文字コードです。

trimLeft

「trimLeft」は文字列の左の空白文字を削除するメソッドです(trimLeftメソッドの定義)。
trimLeftメソッドの定義

 func trimLeft(): []char

戻り値 左の空白文字が削除された文字列
削除される空白文字は、16進数で「09(タブ文字)」「0A(改行)」「0B」「0C」「0D」「20(スペース)」「A0」の文字コードです。

trimRight

「trimRight」は文字列の右の空白文字を削除するメソッドです(trimRightメソッドの定義)。
trimRightメソッドの定義

 func trimRight(): []char

戻り値 右の空白文字が削除された文字列
削除される空白文字は、16進数で「09(タブ文字)」「0A(改行)」「0B」「0C」「0D」「20(スペース)」「A0」の文字コードです。

upper

「upper」は文字列中の小文字を大文字に変換するメソッドです(upperメソッドの定義)。
upperメソッドの定義

 func upper(): []char

戻り値 大文字化された文字列
半角アルファベットの小文字のみが変換されます。

xor

「xor」はビット型、enumの、ビットごとの排他的論理和を求めるメソッドです(xorメソッドの定義)。
xorメソッドの定義

 func xor(n: 自身の型): 自身の型

n 任意の値
戻り値 nとのビットごとの排他的論理和
1513347109ja