日本語プログラミング言語「なでしこ」 Advent Calendar 2024
閲覧ありがとうございます。この記事はなでしこアドカレの6日目の記事となります。
5日目の記事はnmtblueさんの「DISM SFCを なでしこv1で自動化してみる」でした。
なでしこアドカレに初参加とのことでご参加ありがとうございます!(といってもなでしこ歴は私より長そうですが……w)あんまり私はディスクのチェックとかしたことありませんが、やった方がいいのかな?また今度調べてみたいと思います。
はじめに注意!
当記事は私がなでしこで作ったテーブルDOM操作プラグインを紹介する記事なのですが、記事を書いている最中に上位互換を発見したりバグが見つかったりしてしまいました。そのため、今回はいったん当記事を公開しますが、バグを直してから別日のアドカレとして改めて紹介したいと思います。
ということでこの記事はただの日記です。いいのかな、何一つ得られないQiitaの記事を投稿するのは……。
それでもいいよ、という人はありがとうございます。ぜひ見ていってください。そうでない方はバグを直してからお会いしましょう。
「お久しぶりです」と表示
去年の記事を読んでくださった方はお久しぶりです。そうでない方ははじめまして。ユメミノウツツと申します。
今年もなでしこアドカレに参加させていただきました……が、既に12/7の2時です!間に合っていません!ごめんなさい!!
28時くらいには間に合うように今から頑張りたいと思います。雑な記事がもっと雑になってしまいますが、許してくださいませ……。
テーブルDOM操作プラグイン
今年の3月になでしこさんで作ったプラグインになります。リンクはコチラ↓
サンプルプログラムはコチラ↓
なでしこ3にはデフォルトで「テーブル作成」という関数があります。これは二次元配列 or CSVからtableのDOMを作ってくれる関数です。これは表を作ってくれる便利な関数ですが、その一方で表を書き換える関数がありませんでしたので、動的に表を書き換えるためのプラグインを作りました。
……もう一度いいます。ありませんでした。
この記事を書きながら調べてると、命令一覧に「テーブル更新」「テーブルセル更新」という命令が追加されています!どうやら3週間前に追加された、できたてほやほやの関数みたいです。
あれ?ではこの記事の意味は……?
……まあ、なにはともあれ一応説明させていただきます。以下、プラグインの説明です。といっても貯蔵庫のソースにだいたい書いてあるとは思いますがね。
(TABLEをCSVで)テーブル書き換え
tableDOMとCSV形式の文字列を引数に取り、tableDOMの中身をそのCSVが示す表に書き換える関数です。テーブル更新で同じことができます。
正直、まあそれ以外の説明はありません。テーブル更新はCSVにも二次元配列にも対応しているので、そっちの方が高機能ですし……。
(TABLEを)テーブル二次元配列化
tableDOMを引数に取り、その中身を二次元配列にして返す関数です。
こちらは今のところ類似機能の関数は実装されていないかな?と思います。
……でしたが、こちらの関数今バグで使えません。
ver3.5.1では使えたのですが、最新verでは動いていないことを確認しています。原因も突き止めていまして、htmlを力業でパースしたのがうまくいっていないことがわかっています。
はじめに注意でも書いた通り、今絶賛バグ直し中なのでそれまでは使用をお控えください。
完成形(というか本来想定していた動作)はサンプルプログラムから見ることができます。tableDOMを二次元配列にしてそれを表示しています。
おわりに
いかがでしたか!?このプラグインが全く機能していないことがわかりましたね!
……いや、本当にすみません。この記事、プラグインの2つの関数のうち、上位互換が公式から登場したものと、最新版ではバグって動かないものを紹介したという、本当に何の価値もない記事になってしまいました。
次のアドカレまでにはテーブル二次元配列化のパーサーを書き直してちゃんと動くところをお見せしたいと思います……それまでしばしお待ちください……。
それでは、次の記事でお会いしましょう。アドカレ2024の間には頑張って出したいと思います。お相手はユメミノウツツでした!
本当に紹介する記事はコチラ↓
(まだできていません🙇♂️)