跳转到内容

模組討論:RouteSequence

页面内容不支持其他语言。
维基百科,自由的百科全书

这是本页的一个历史版本,由TimWu007留言 | 贡献2021年2月6日 (六) 03:11编辑。这可能和当前版本存在着巨大的差异。


TimWu007在话题“編輯請求 2021-02-06”中的最新留言:4年前

怎样显示换乘站

如果使用%的话,就无法为此站创建链接。怎样为一个站点显示换乘站,如{{长沙地铁4号线}}的光达站显示:光达(换乘 2号线)?--SolidBlock留言 2019年9月12日 (四) 12:27 (UTC)回复

感谢IP用户的编辑。--SolidBlock留言 2019年9月13日 (五) 08:10 (UTC)回复

編輯請求 2020-06-24

请求已拒绝

请求将第243行的system_data = mw.loadData("Module:RailSystems/" .. system)中将Module:RailSystems改为Module:Adjacent stations,如果发现问题可以回退。--Nissangeniss留言2020年6月24日 (三) 06:08 (UTC)回复

@Nissangeniss:您有測試過嗎?是否有現有的頁面可展示測試結果? Xiplus#Talk 2020年6月29日 (一) 16:03 (UTC)回复
RailSystems和adjacent stations本來就高度重疊,而且同時存在多年,請求合併兩者也已經討論好一段時間了,不過因技術原因始終沒有做。--owennson聊天室獎座櫃2020年7月6日 (一) 08:28 (UTC)回复
@NissangenissOwennson:兩個模組子頁面不盡相同,替換不會導致部分的頁面壞掉嗎? Xiplus#Talk 2020年7月10日 (五) 13:01 (UTC)回复
User:Xiplus:這就是一直無法取消的原因了。除非使用Railsystems的所有模板和條目全部換成以as為基礎的模板,否則做不到的...--owennson聊天室獎座櫃2020年7月10日 (五) 14:21 (UTC)回复
是不是應該先把AS缺少的部分從Railsystems複製過去? Xiplus#Talk 2020年7月10日 (五) 23:33 (UTC)回复
未完成,目前的修改方案會造成部分頁面受損。--Xiplus#Talk 2020年7月19日 (日) 13:39 (UTC)回复

編輯請求 2021-01-31

请求已处理--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复

增加对Module:Adjacent stations的支持,手动测试通过,但由于Module:Adjacent stations没有稳定的测试用例,所以暂时无法引入p.testCase,其他执行p.testCase{}通过无报错,说明至少现有页面不会受影响。其他情况待后续引入Module:Adjacent stations数据后再议。

另:合并后可使用AS:system_name测试AS是否可正常再线路图中显示。

--思域无疆大道 事体 机器 2021年1月31日 (日) 13:14 (UTC)回复

@Siyuwj在自己的沙盒测试了一下,Module:Adjacent_stations/广州地铁中的广州南站,会显示为“广州南站|广州南站”。--Tim Wu留言2021年1月31日 (日) 13:32 (UTC)回复
这就是没有 Test Case 的麻烦,我也不知道 Corner 有没有全覆盖,但至少不会破坏现有的……—思域无疆大道 事体 机器 2021年1月31日 (日) 13:38 (UTC)回复
@TimWu007完成,下面的框我是拿来做记录的……—思域无疆大道 事体 机器 2021年1月31日 (日) 13:44 (UTC)回复
我这里没问题了,先公示7天吧。感谢您的更新。@NissangenissOwennson--Tim Wu留言2021年1月31日 (日) 13:54 (UTC)回复

目前测试通过(以下内容可能会随着讨论的进行而更新):

print(p.route{args={stations='大庆寺 ~ 奥体中心 ~ 兰亭', system='绍兴轨道交通'}})
print(p.route{args={stations='大庆寺 ~ 奥体中心 ~ 兰亭', system='AS:绍兴轨道交通'}}) # 只使用 [[Module:Adjacent_stations]]
print(p.route{args={stations='广州东站 ~ 体育中心 ~ 体育西路', system='广州地铁'}})

思域无疆大道 事体 机器 2021年1月31日 (日) 13:38 (UTC)回复

@SiyuwjTimWu007刚刚做了沙盒测试,改了一下RouteSequence改用Adj的参数再改动53行为lines(参见沙盒Module:RouteSequence/sandboxTemplate:铁道路线/sandboxTemplate:铁道路线/车站列表/sandbox),对比效果参见Template:鐵道路線/testcases,铁道系统用汉字“广州地铁”没有问题。Nissangeniss留言2021年1月31日 (日) 13:58 (UTC)回复
@Nissangeniss直接替换为Adj的话,所有的消歧义全部失效了(例如石井站 (广州)变成了石井站),这也就是说RouteSequence最重要的能力被破坏了。可以在“参数设置”->“小工具”选择“用橙色標記消歧義頁面”。—思域无疆大道 事体 机器 2021年1月31日 (日) 14:09 (UTC)回复
估计可能要在哪儿加一下能够消歧义的代码吧Nissangeniss留言2021年1月31日 (日) 15:41 (UTC)回复
思域无疆的版本似乎已经解决了问题?--Tim Wu留言2021年1月31日 (日) 15:45 (UTC)回复
好吧,现在才去看了无疆做的沙盒。Nissangeniss留言2021年1月31日 (日) 16:43 (UTC)回复
@Siyuwj@TimWu007{{Adjacent stations}}本身是向外提供了经过消歧义的车站链接接口的({{T:stl}} {{stl|系统|车站}},或者直接使用lua调用,见下),而现测试版本中似乎直接将这部分代码置入了,增加了耦合性,是否应该考虑解耦?
require('Module:Adjacent stations')._station({
	system = '上海地铁',
	station = '世纪大道',
	line = nil, -- 可选
	type = nil, -- 可选
}, frame)
――David Xuang (contact me) 2021年2月2日 (二) 09:16 (UTC)回复
@David Xuang多谢提醒。试用了,但个人感觉不合适。首先,_station看起来是私有方法,API未必稳定(而数据的格式可以认为是稳定的)。其次,_station 会尝试访问多个全局变量,这意味着随着该函数的更新,Module:RouteSequence随时有可能会出现错误,所以尝试通过 _station 解耦并不彻底(require的全局变量必须定义在当前Module里)。最后,Module:RouteSequence会设置车站的颜色、字体等信息以体现开通状态,而这无法通过{{stl}}达到。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:55 (UTC)回复
@Siyuwj_station的命名是因为station这个入口是供维基文本以{{#invoke:}}语法调用的,可以注意到MakeInvokeFunction将前者包装成了后者,此处的API更改应该至少是向前兼容的(只增加可选值),而getStation函数才是私有的并且只支持{{Adjacent stations}}的,而其实接口函数还会尝试调用{{[系统名]车站}}处理消歧义,适用面更广。引用的模块里的本地变量的作用域问题,按我的理解和使用来看似乎是不存在的,不知道您具体指的是哪种问题。最后一个问题确实存在,但这个函数返回的格式是维基链接且必有两个值,其实可以使用正则表达式(\[\[(.+)\|(.+)\]\])提取所需的两处文本解决。――David Xuang (contact me) 2021年2月2日 (二) 11:47 (UTC)回复
@David Xuang已经完成。—思域无疆大道 事体 机器 2021年2月2日 (二) 12:22 (UTC)回复
User:SiyuwjUser:TimWu007,不如乾脆人手把RS替換成Adj吧,雖然有3800個頁面,但只要沒人增加RS,做起來還是很快的。我自己曾經以一人之力把1000多個Infobox Japanese station替換成日本車站資訊模板(後來併到Infobox station),花了11個月。按此比例,RS換成ADJ要2年多。就看各位有沒有意願一起做了。ADJ的代碼比RS還簡單和好理解,同時又有很多外語連結,所以我是提倡廢掉RS全用ADJ的。--owennson聊天室獎座櫃2021年1月31日 (日) 15:12 (UTC)回复
请注意,这个编辑请求正是要添加对Adj的支持,不是讨论adj与rs的合并问题。rs已经在存废讨论,阁下可移步至那边对相关议题发表意见。--Tim Wu留言2021年1月31日 (日) 15:15 (UTC)回复
好的。--owennson聊天室獎座櫃2021年1月31日 (日) 15:22 (UTC)回复

编辑请求 2021-02-02

一般而言,中文的标点与对应西文标点等宽或更宽;在西文连接号使用en dash(– –)的情况下,这里连接号使用更窄的hyphen(-)是否不妥?并且,可以注意到T:鐵道路線页面上提供的台铁示例似乎也是使用的en dash,本条目是否应该考虑改用en dash(– –)作为车站分隔符?――David Xuang (contact me) 2021年2月2日 (二) 09:00 (UTC)回复

有道理,我顺便改一下。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:57 (UTC)回复
完成。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:59 (UTC)回复

关于模块改动后的问题

@SiyuwjTimWu007阁下发现改动此模块后如果{{铁道路线}}写了lua=1而不写铁道系统的参数的话会报错(见:Template:淮南铁路),看看有没有快速解决的方法?Nissangeniss留言2021年2月6日 (六) 02:49 (UTC)回复

我在模块文档页也发现了,还以为是少部分的问题……那我先回退更改了。--Tim Wu留言2021年2月6日 (六) 03:01 (UTC)回复
@Nissangeniss思域无疆君已修复错误,辛苦您修改模板了。--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复

編輯請求 2021-02-06

请求已处理--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复

修复system参数为空导致的模块报错。--思域无疆大道 事体 机器 2021年2月6日 (六) 03:05 (UTC)回复

@TimWu007:之前的版本没有考虑空字符串和nil……已经提新的patch,同时引入了测试。—思域无疆大道 事体 机器 2021年2月6日 (六) 03:07 (UTC)回复
感谢修复。--Tim Wu留言2021年2月6日 (六) 03:11 (UTC)回复