Wikipedia:井戸端/subj/Luaエラーについて

Luaエラーについて[編集]

英語版にあるテンプレートを導入しようとTemplate:Sports links(ウィキデータから外部リンクを呼び出すテンプレートです)を作成したのですがLua エラーになってしまいました。モジュール:External linksモジュール:External links/confモジュール:External links/conf/Sportsを英語版の最新版からそのままコピーして作成しました。英語版ではエラーにはなっていません。理由がわかる方教えていただけないでしょうか。--Rain night 2018年6月2日 (土) 23:48 (UTC)[返信]

Lua エラー モジュール:External_links/conf 内、28 行目: attempt to index field 'messages' (a nil value)

バックトレース:

1 モジュール:External_links/conf:28: 関数「g」内
2 モジュール:External_links:831: 関数「chunk」内
3 mw.lua:511: ?
4 [C]: ?

Lua エラー モジュール:External_links 内、812 行目: bad argument #1 to 'ipairs' (table expected, got nil)

  • コメント エラーメッセージが消えたことを確認しました。ありがとうございます。リンク元を修正し、まだ日本語版にないものにはTemplate:仮リンクを入れてみたのですが、うまく表示されてないようです。仮リンクは使えないのでしょうか。仮リンクを表示する方法はないでしょうか。--Rain night 2018年6月3日 (日) 02:36 (UTC)[返信]
  • コメント ふと思ったのはLuaで生成する場合、仮リンクは使わない(内部リンク(言語)の直記述)方がいいような気がします。リンク作成された後、作業が異なるため言語リンクだけ消えた状態のままとなりかねないので明示的にリンク作成後も言語リンクは残した方がベターではないでしょうか。--115.38.210.107 2018年6月3日 (日) 20:39 (UTC)[返信]
  • コメント 2-3バイト文字を使用する他言語版の同モジュールが参考になるのではないかと思いましたが、IPさんのおっしゃる通り、他言語版では仮リンク自体が使用されておらず直リンク生成で対処されていますね(no:Modul:External links/conf/Sport(ノルウェー語版)、ar:External_links/conf/Sports(アラビア語版) / 本家英語版でもen:Template:Interlanguage link(Template:仮リンク)が存在するけど敢えて使用されていない)。「他言語版から持ち込みで、モジュール作成者自身が内部引数の動きがよく解っていない」という前提ですから今後英語版が改訂更新されるたびに同種問題が発生する懸念を考えますと「日本語版独自仕様を諦めて他言語版の表記に合わせた方が良い」とも思います。 / 一応、モジュール関係の相談事はPJ:WTECHの範疇になるようです(プロジェクト‐ノート:ウィキ技術部)。--Nami-ja (会話 / 履歴) 2018年6月3日 (日) 22:24 (UTC)[返信]
  •  追記 Luaモジュールからテンプレートを呼び出すと処理速度が(テンプレート呼び出し・実行速度に依存して)落ちる、という既知の問題がありますので他言語版のLuaモジュールが一様に仮リンクテンプレートを使用していないのはそれを嫌った結果ではないかな、と個人的には思います。--Nami-ja (会話 / 履歴) 2018年6月3日 (日) 23:41 (UTC)[返信]
  • コメント 仮リンクは全て除去しました。これで問題はないでしょうか。このテンプレートを導入したかったのは外部リンクサイトが消滅して多くのリンク切れが発生していたからです。ウェブキャッシュに置き換えられていたのもありましたが、変わりになるプロフィールがあれば変更したほうがいいと思いました。6000件以上で使用しているTemplate:SportsReferenceがあるのですが、このサイトが閉鎖するかもしれないので[1]、このテンプレートに置き換えようと考えています。リンク切れの修正や追加もやりやすいと思います。外部リンクのプロフィールはテンプレート呼び出しにして、多くの記事で使用されていてウィキデータにない場合はプロパティの追加を依頼してほしいです。--Rain night 2018年6月9日 (土) 01:48 (UTC)[返信]
  • テンプレの張替えが始まってるようですが、従来のテンプレと併用するかとかの運用方法とかはどんな感じなんでしょうか。既存のテンプレの置換えがでてくるので、スポーツのプロジェクトとかへの周知、合意のあとに実運用はお願いします。Template‐ノート:Sports linksにコメントしておきました。--115.38.210.107 2018年6月9日 (土) 11:59 (UTC)[返信]