スクリプト開発/Tips集
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[スクリプト開発]] に戻る
* スクリプト開発のTips集 [#c42c2819]
このページでは,SquirrelでSimutransのスクリプトを開発する...
間違っている情報があればどんどん訂正お願いしますです.
** インスタンスの比較 [#lc997447]
(確認; 2021年3月 OTRPv29_5)
[[halt_list_x():http://dwachs.github.io/simutrans-sqapi-d...
get_halt_list()で得られるhalt_x オブジェクトの比較には==...
** filter,map関数について [#a1ada227]
(確認; 2021年3月 OTRPv29_5)
Squirrelには[[array.filter():http://www.squirrel-lang.org...
- get_xxx_list()で得られるxxx_list_xオブジェクトはarrayで...
- array.filter()やarray.map()ではループ処理中のyieldが行...
実際の開発ではarrayもxxx_list_xオブジェクトも同様に扱いた...
function _step_generator(iteratable) {
foreach (obj in iteratable) {
yield obj
}
}
function filter(array, func) {
local new_array = []
foreach (obj in _step_generator(array)) {
if(func(obj)) {
new_array.append(obj)
}
}
return new_array
}
function map(array, func) {
local new_array = []
foreach (obj in _step_generator(array)) {
new_array.append(func(obj))
}
return new_array
}
使用するときは以下のようになります.
// 容量1000人以上以上の停留所一覧を返す
funtion get_big_halt() {
return filter(halt_list_x(), ((@h) h.get_capacity(good...
}
終了行:
[[スクリプト開発]] に戻る
* スクリプト開発のTips集 [#c42c2819]
このページでは,SquirrelでSimutransのスクリプトを開発する...
間違っている情報があればどんどん訂正お願いしますです.
** インスタンスの比較 [#lc997447]
(確認; 2021年3月 OTRPv29_5)
[[halt_list_x():http://dwachs.github.io/simutrans-sqapi-d...
get_halt_list()で得られるhalt_x オブジェクトの比較には==...
** filter,map関数について [#a1ada227]
(確認; 2021年3月 OTRPv29_5)
Squirrelには[[array.filter():http://www.squirrel-lang.org...
- get_xxx_list()で得られるxxx_list_xオブジェクトはarrayで...
- array.filter()やarray.map()ではループ処理中のyieldが行...
実際の開発ではarrayもxxx_list_xオブジェクトも同様に扱いた...
function _step_generator(iteratable) {
foreach (obj in iteratable) {
yield obj
}
}
function filter(array, func) {
local new_array = []
foreach (obj in _step_generator(array)) {
if(func(obj)) {
new_array.append(obj)
}
}
return new_array
}
function map(array, func) {
local new_array = []
foreach (obj in _step_generator(array)) {
new_array.append(func(obj))
}
return new_array
}
使用するときは以下のようになります.
// 容量1000人以上以上の停留所一覧を返す
funtion get_big_halt() {
return filter(halt_list_x(), ((@h) h.get_capacity(good...
}
ページ名: