寝るべ(これはWindows上…なんかこっちの方が意図した変換になってないような…?)
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
寝るべ(これはWindows上…なんかこっちの方が意図した変換になってないような…?)
@hadsn それハイリスクノーリターンじゃないですかやだー
しっかし、自分で構築してみた補正がかかってるのでアレなんだけど、意外に使えますね…快適ではないんですが、不快でもない。コマンドラインでテストした感じではイケてないなーとは思ったけど、実際に使ってみるとそこまで悪かない。でも他人が評価すると「クソ」と言われてもおかしくないかも。
完全に新しい世界だと、まだ誰も手をつけてない云々という主張も通りやすいんだけど…流石に年月を経たsceneだと下手に「まだこれ誰もやってないですよね」とか言おうものならイタい子扱いされてもおかしくはないし。
なんせlibkkcが登場してから今まで相応の時間が経っていて、それでこの(辞書の生成方法があんまり明確でない)状況なんだもん。
明らかに「なんか(政治か技術的な問題が)ある」と疑うしかないでしょ。
単に今まで誰も手をつけてなかっただけとか思うのは流石に脳味噌お花畑だよね?
なんとなくだけど、data.arpaの生成方法は今まで誰も見つけてなかったというよりは、知られていても秘されていたとかそんな気がするので。
OpenBSD上で動いてるlibkkcの辞書を日本語ウェブコーパス2010から生成したものに入れ替えて、ちょっとあちこちに雑文を書き散らかしてるところ。
良いとはいえないけど悪くもない感じ…かなあ。SKK辞書によるドーピングも効いてるから素の性能は分からないのと、今までの辞書もそれほど使い込んでいた訳ではないから評価しようがないという。
でもSKK辞書無しで、素の辞書をどう強化するかっていうのは言語モデル越しにやっている以上は簡単じゃなさそうな気がするんだけどその辺は詳しい人達にぶん投げちゃっていいよね?
お?
(before)
uaa@framboise:~$ ./a.out ちみもうりょう
0: <地/ち><み/み><魍魎/もうりょう>
uaa@framboise:~$
(after)
[uaa@archlinux-vm ~]$ ./a.out ちみもうりょう
0: <魑魅魍魎/ちみもうりょう>
[uaa@archlinux-vm ~]$
で、日本語ウェブコーパス2010から生成した辞書が一応使えるようにはなったんだけど…前よりお馬鹿になってしまった感じなのでどうしたもんかなと。
(before)
uaa@framboise:~$ ./a.out きしゃのきしゃがきしゃできしゃした
0: <貴社/きしゃ><の/の><記者/きしゃ><が/が><汽車/きしゃ><で/で><帰社/きしゃ><した/した>
uaa@framboise:~$
(after)
[uaa@archlinux-vm ~]$ ./a.out きしゃのきしゃがきしゃできしゃした
0: <記者/きしゃ><の/の><記者/きしゃ><が/が><記者/きしゃ><で/で><記者/きしゃ><下/した>
[uaa@archlinux-vm ~]$
まあこういう意地悪な文章で評価するもんでもないんだろうが…?
一応これで良いのかなー。data.arpaに<s>とか</s>が無い場合は勝手に補完するようsortlm.pyに突っ込んでみたんだけど。
https://github.com/ueno/libkkc/pull/46/commits/6d100540905a68bb9ab83ec203b0696a135d312f
(ValaとかC#とか知らんけど、本当はnullableで<s></s>が存在しないケースも認めてエラーチェック等で対応するのが筋という気がするけど…そうも言ってらんない以上は、sortlm.py側を加工して辞書側で対処するしかないのかもしれない)
<s>はあるけど</s>が見つからないのでエラー、んでもってbigram-decorderではbos_node, eos_nodeを見てるってことは…1-gram(単語辞書)内では<s></s>必須って話になるのかなあ。
ちょい強引ではあるけど、無かった場合は強制的に追加とかそういう処置も考えないといけない?
kkc_language_model_get ((KkcLanguageModel*) self, " ", "</s>");
gdbで追うに、これがnullではなくおかしな値を返してるのでSEGVになるということか
This account is not set to public on notestock.
You make me moveってRide on time(Black Box)っぽいな…
https://www.vala-project.org/doc/vala/Types.html#Nullable_types
?については<type>?…<type>かnullかを取る型、ということになるのかなあ。この辺はC#のnull許容値型を読む方が良いのかも https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/nullable-value-types
https://www.vala-project.org/doc/vala/Overview.html#Vala_syntax
It is also possible to use language keywords as identifiers, provided they are prefixed with a "@" when used in this way - the "@" is not considered a part of the identifier, it simply informs the compiler that the token should be considered as an identifier.
@は無視される…喩えは悪いけど、予約語でも@を頭に付けちゃえばそれ使っておっけーとかそういうノリと理解した。
public override LanguageModelEntry? @get (
?とか@の意味って??
language-model.valaだと
public abstract class LanguageModel : Object, Initable {
(略)
public abstract new LanguageModelEntry? @get (string input,
string output);
@getの実体はbigramしか記述がないからやっぱりここら辺は重要なのかもしれん。
Valaのデバッグってみんなどうやってるんだろう。Vala→Cに変換してからコンパイルしてるので、Cを見てからまたValaに戻ってしゅうせいとかそういうプロセスにはなるみたいなんだけど…
でもなんか違う感じもするなー。あの辺の処理にMarisa絡んでないし…
で、sorted-bigram-language-model.valaのclass SortedBigramLanguageModelは多分LanguageModel, UnigramLanguageModel, BigramLanguageModelを継承していて、public override LanguageModelEntry? @get ()の処理が_eos = get(うあうだ)の実体なんだろうな。ここで何が起きてるのか、を知る必要はありそう。
KkcLanguageModelEntry* _tmp64_;
KkcLanguageModelEntry* _tmp65_;
KkcLanguageModelEntry _tmp66_;
になっていて、素直に
_tmp66_ = *kkc_language_model_get()にすりゃいーじゃんというのはともかく…
get()に失敗した場合に対する処理が無くて落ちてるのはまあ分かったとして、失敗したらどうするのが適当かっていうのは考えないといけないか。
sorted-bigram-language-model.valaのpublic override bool parse () throws Errorの最後の方にある
_eos = get (" ", "</s>");
これをC化すると
_tmp64_ = kkc_language_model_get ((KkcLanguageModel*) self, " ", "</s>")
;
_tmp65_ = _tmp64_;
_tmp66_ = *_tmp65_;
kkc_language_model_entry_copy (&_tmp66_, &_tmp67_);
kkc_language_model_entry_destroy (&self->priv->_eos);
self->priv->_eos = _tmp67_;
_kkc_language_model_entry_free0 (_tmp65_);
すげえな、coreが見つからんと思ったらcoredumpctl debug a.outでデバッガ他一式が起動してくれる…最高じゃないか…! https://wiki.archlinux.org/title/Core_dump
This account is not set to public on notestock.
(単にkkc_decoder_decodeを呼ぶだけのテストコードを作っていたのが、まさかこの場面で役に立つとはね…)
やっとArch上でlibkkc/libkkc-dataの実験環境ができたので(すでに動いてる環境に入れると何が何やら分からなくなるのでlibkkcを入れてない環境でやる必要がある)、ここから例の辞書入れたりあれこれやればいいよな…
なんかArchってちょっとレスポンスがきびきびしてる感じがある…最適化とかの問題なのかも?
githubから落としたlibkkc、Debianだと何故かvapigenを見つけられずにビルドできないんだけどArchだとうまくいく…(distroによってうまくいく/いかないのって、たまにあるんですよね…なので複数のdistroを飼っておく必要があったりする)
ここ1~2日のports@, tech@, hackers@のメーリングリストも特に変わった様子はないから…とりあえず気にせず放置するか。
ホスト側大丈夫か?と思って真っ青になったけど、一応1Tのディスクのうち42%使用中なので多分大丈夫。
tmp周りはこんな感じなのと、120GBのディスクイメージで組んでる仮想マシンなので、余裕はあまりある訳でもないけど簡単にdisk fullにもならんだろと思っていて…
openbsd-current-vm# df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/sd0a 146237396 32294668 106630860 24% /
openbsd-current-vm# ls -l /tmp
total 20
drwxrwxrwt 2 root wheel 512 Sep 14 14:49 .ICE-unix
drwxrwxrwt 2 root wheel 512 Sep 14 14:49 .X11-unix
drwxrwxrwx 2 daemon wheel 512 Sep 14 14:49 .iroha_unix
drwxr-xr-x 2 root wheel 512 Sep 14 14:49 sndio
drwxrwxrwt 2 root wheel 512 Aug 2 20:52 vi.recover
openbsd-current-vm#
openbsd-current-vm# cvs -q up -Pd -A
uaa@cvs.openbsd.org's password:
cannot create_adm_p /tmp/cvs-serv79012/x11/ports/devel/vanessa
No space left on device
openbsd-current-vm# df
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/sd0a 146237396 32294668 106630860 24% /
openbsd-current-vm#
…??
え、以前からあると思っていたけどアレは正式リリース前だったのか…
This account is not set to public on notestock.
(再出スマヌ)アローゼン(下剤)を「波動拳」のイントネーションで読んでしまう呪いを浴びてな…
This account is not set to public on notestock.
日本語プログラミング言語は必要か (2011.11.23) https://fukuchi.org/essay/2011/programming_in_japanese.html
「この経験から考えるに、プログラミング学習の壁は、プログラムを書くための記法の習得にあるのではなく、プログラムとは何なのか、アルゴリズムとはどういうものなのかを素早く体得できるかどうかにあるように思う。記法が英語風であるか日本語風であるかはおそらく小さなことであろう。」
激しく同意なのと、日本語でいちいち入れないといけない(ひらがなカタカナ漢字への変換)コストを考えると、アルファベット主体の英語風プログラミング言語で十分良いんじゃね?ってなってしまう。
「日本語プログラミング言語は必要か」という大学教授さんの記事に感銘をうけた話 (2023/09/11) https://qiita.com/mylifewithviolin/items/2b9a4cba5b475af84f20
せめてBトロンはBTRONとちゃんと書こうよ、はともかくとして…
日本語プログラミング言語は必要か (2011.11.23) https://fukuchi.org/essay/2011/programming_in_japanese.html
ここにある、「日本語プログラミング言語、 およそ20年の歴史と今後」はどうやって読めばよいものか…
これかな? https://web.archive.org/web/20160308065141/http://www.sciencehouse.jp/research/20050604-1.pdf
ま、ツッコミどころの多いREADME.mdではあるんだけど…一応「こういうことやっててこういう問題点にぶつかってる、後は知らん」とぶん投げるという意思表示としてはこれで十分かな。
This account is not set to public on notestock.
libkkcが落ちてるから、その巻き添えを食ってるということで良さそうだけど。
うーん、出現頻度1800に絞ってもfcitx5がsegmentation faultで落ちるな。
根拠のない個人的な感覚なんだけど、出現頻度1700~1800くらいが良さそうに見える。メモリ不足とかで動かなくなる心配を考えると、1800が適当か。
出現頻度1700
ngram 1= 55203
ngram 2= 665837
ngram 3= 2289672
出現頻度1600
ngram 1= 56791
ngram 2= 698848
ngram 3= 2460089
ngram=1が単語数そのものなのでこれは削りたくないが、その組み合わせたるn-gram2, 3が爆発してもらっても困る(とはいえこれも削ると「賢さ」が落ちる)。出現頻度1000でも厳しいというなら、それ以上の頻度に制限するしかないのは確かそうなんだけど…
出現頻度2000
ngram 1= 51095
ngram 2= 585849
ngram 3= 1977021
出現頻度1900
ngram 1= 52359
ngram 2= 609753
ngram 3= 2046937
出現頻度1800
ngram 1= 53745
ngram 2= 636476
ngram 3= 2176045
出現頻度1750
ngram 1= 54440
ngram 2= 650833
ngram 3= 2231599
出現頻度1500
ngram 1= 58509
ngram 2= 735145
ngram 3= 2619441
出現頻度1250
ngram 1= 63540
ngram 2= 847794
ngram 3= 3118175
オリジナルのデータが
ngram 1=118333
ngram 2=775414
ngram 3=1777469
用意したものが
ngram 1= 70292
ngram 2= 1009331
ngram 3= 3901618
単語数は減っているとはいえ組み合わせた物の数が異様に大きい(なにしろrootじゃないと辞書データを作れない程度にはメモリを食っている)というのがあるので、その辺で悲鳴を上げたのかも。
出現頻度1000以上よりは小さいデータセットが無いので、コードをいじって制限(フィルタ)するという方向にしないとダメかも。
中の人の勘が鋭ければ、あのPRの裏で何をしようとしているかは気づくはず。わざわざIRSTLMとツール名を書いているので。
(marisa-)trieを使っている以上、辞書の作りとしては確かにそうなるわな…
2-gram: 1-gramに定義された単語でペアを作ること
3-gram: 2-gramに定義された単語ペア+1-gramに定義された単語であること
とはいえその辺の言語資源で適当に作ったN-gramだと場合によっては<unk>とかで切られちゃうので、この条件を平然と満たさなくなる…ノイズが含まれるとでも言えば良いんだろうかね、そのノイズでsortlm.pyが機嫌を悪くしちゃう。
そう理解してる。
とりあえず、sortlm.pyの修正はおしまい。IRSTLMで変換したarpaの処理もできているので、あとはこれを実際にlibkkcに食わせて何が起こるかを見る…ってことになるな。 https://github.com/ueno/libkkc/pull/46
そうそう、このページ https://note.nkmk.me/python-list-comprehension/ 参考にして、(例にある)最初のsquares = []に相当する部分を省略して痛い目にあったとか、append()でうまくいかなかったのでextend()にしたら全然ダメだったとか(append()使ってさらに()の指定を足したか抜いたした)、Pythonの文法わかんね💢💢💢となってました。
This account is not set to public on notestock.
とりあえず内包表記で書かれていた部分を、内包表記使わない+エラーチェック入れる、で書き直せたけどPython知らない人間にそれやらせるとか…append()とextend()の違いとか知らんし…
なんなのPythonの内包表記って…すっきり書けるのは理解するけど、エラーチェック入れないといけない場合にはどうしようもないじゃんこれ…
そういえば14MHz/430MHzしか使わない、移動しない局に関する変更申請はやっと終わりました。あとは局免をもらうための返信用封筒を送らねば…
Pythonはよく分からないんだけど、まあhow-toなweb見ながらいじるしかないだろうなあ…
とりあえず、実績がある(と思う)IRSTLMで作った言語モデルのデータを食わせても動かないんですけど、sortlm.pyはその辺どうお考えなんです?ということは言えそう。(こちらで生成したdata.arpaに非は無いってことを言いたい)
<unk>をOOV(out of vocabulary)なる呼び方をするようだけど、sortlm.pyの作りとしてOOVをあんまり考えてないとかそういうノリなんだろうか。まあ確かに、1-gramの単語に無いものが2-gram, 3-gramに出てきてもらっても困るんすよ、ではあるんだろうけど。
ああ、これ問題無いんだ…元の3-gramコーパスにunkは入ってないし、IRSTLMのモデル生成結果に<s></s><unk>が入る(しかも小文字で)というカラクリか。
…おや、<s></s><unk>が素通しになってるけど…ヘンだなこれ。本当は引っかけないといけないはずなんだけど。wcscasecmp()は何をしているのやら。
あ、読み仮名付け(兼データのクリーニング他)のコード、<unk>未対応だ…
<unk>って、<unknown>の略なのは分かっていたとしても…ちょっと良からぬものを想像しちゃうんですよその三文字の略だと。
IRSTLMで3-gramの日本語ウェブコーパスから[123]-gramの表を作る以上、単語表(1-gram)はちゃんとしてると思っていたんだがなあ…確かに<unk>のエントリがあった以上は切り捨てられたものも何かあるとは思ってたんだ。この切り捨てを無効化して.arpaを作れれば御の字なんだが…そうでなければsortlm.pyで対応するしかない。
もしかしてあれか、sortlm.pyの__read_ngramdのここ
for word in ngram:
agent = marisa.Agent()
agent.set_query(word)
if not self.__vocab_trie.lookup(agent):
continue
ids.append(agent.key_id())
単語表にないものについてはid.append()をngrams分登録できない…それに対し__write_ngramsでは
items = [(struct.pack("=LL", ids[1], unigram_offsets[ids[0]]), ids) for ids in keys]
ids[1]が存在することを前提にしている。故に、IndexErrorが起こる。
(この件に関しては言葉をオブラートに包む必要は一切ないと判断していますので、そのようにします。反論は一切無視で。)
件のプロダクションも滅んでいいと思います。マスコミとグルなら、まとめて消えれば良い。跡形も要らない。
マスコミの何社かが滅んでくれると良いかなーと思ってはいるのですが、なかなかそうはなりませんね…
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
素直にRaspberry Pi用DAC(PIFI DACなどという名称で売られているようだ)買った方が良さそうだな…変に悩むくらいなら。お金ちょっと張るけど。
@redbrick Arduinoって基本的に5V I/Oなので下手にARM系の基板に繋げない…
でも同じように見えるI2C CODECなボード、Raspberry Pi用としても売られてるんですが…?
https://www.aliexpress.com/item/1005005352684938.html
ingressいつの間にかmachinaっていう人のいないところで繁殖する第三勢力が生まれてたんだけど、見事に人のいないところを示してるな
IRSTLMの吐き出す.arpaなファイル、なんとなくだけど出現率のlog10をdoubleで出してる気がする…-4.6998e-05とか、-0.000145988とか、なんとなくfloatの域超えてるんじゃないかって。で、sortlm.pyはfloat(strv[0])みたいな形で読み取ってるけどpythonのfloatはCでいうところのdouble相当なのでこの部分での齟齬は無いと思いたい。
Pythonの浮動小数点数float型の範囲(最大値・最小値)(2023/7/12) https://note.nkmk.me/python-sys-float-info-max-min/
このPCM5102なI2S CODECなボード、Arduino用って書いてあるけど…BCK, DATA, LRCKに入ってる抵抗を取っ払って半田でショートさせたら3.3V I/OなARMのボードに繋がったりしませんかね…? https://www.aliexpress.com/item/1005005339519212.html
まあ、宮崎勉のおかげで「オタク=犯罪者予備軍」という空気が醸成され、パソコンオタクなんて言葉が存在して(今も存在してるか?)オタクを見たら叩いて殺せという扱いの時代にMSXとかいじっていた身には、流石に今のように情報機器が無ければ何もできないという時代に対してちょっとフクザツな気分になってるんだよ。もうイイ歳したオッサンだし…
ま、確かに「あれこれ」あったけど、良い時代になったとは思うよ?それが阿呆な方向へ進んで暗黒時代がまたやって来ないよう、目を光らせておかないといけないよね。歴史改変とかも流行ってるようだし。
過去も知らず<strike>最低限の敬意も持たずに</strike>に何イキってんの、という「感情」はあるかも。とはいえ、それは自分より経験値が上の人達が自分達に対して抱くものでもあるんじゃないかとは、思う
「アニメ見てるだけなのに自称オタク」とかそういうやつと同じことよ
不満に思うのもわからんでもない (それは「選ばれし人間」以外が雑に使うという形での特権性の侵犯に対する抵抗感であるともとれる) けど、どうあれそれは必然の帰結でしょうという感想しかない
そりゃそういう「選ばれし人間しか使えない称号」みたいなのを用意しちゃったら自分が特別だと思いたい人々がイキるために雑に濫用されるのは当然では?
個人がモデム使ってパソコン通信するのがやっとの頃、その裏(fjとか)でブイブイ言わせてた人達をインターネット老人というなら理解できるけど…
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
IRSTLMで、日本語ウェブコーパス2010の3-gramデータ(出現頻度1000以上)からdata.arpaを生成できたけど…例によって、sortlm.pyがエラー吐きますね…
適当にでっち上げたdata.arpaではない(ちゃんとした言語モデルになってるはずだ)から、sortlm.pyに何か問題がある可能性を考えないといけないのかもー
IRSTLMのページ、github上のを追うしかなさそう。hlt-mt.fbk.euのはweb archive上でしか見られないけどそんなに有用な情報は見当たらない…
https://web.archive.org/web/20210126180309/https://hlt-mt.fbk.eu/technologies/irstlm
MSRLMってのはここにあるやつで良いのかな https://www.microsoft.com/en-us/download/details.aspx?id=52542
How to distributed LM training: step 3に
「ngt -InputFile=TRAIN -FilterDict=DICT.000 -NgramSize=3
-OutputFile=WWW.000 -OutputGoogleFormat=yes」なんてあるので、どこかでGoogle形式を使っていそうな感じではある。
というか、step4を見るに、Google形式の3-gramのファイルのみを使って1-gram/2-gram/3-gramを生成し、最後にarpa化してる。
…試してみる価値はありそうだな?
A tutorial on the IRSTLM library (2008/May/17) https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=2ef9472ecfc0c3d48a0f9b2a031916c703fb1140 分からん…
2009年の時点で、SRILMでGoogle N-gramをARPA化できませんか?って話が出てる。
https://mailman.speech.sri.com/pipermail/srilm-user/2009q2/000750.html
それに対し、SRILMはあくまでも仮の対応でしかしない(意訳)ので、MSRLMかIRSTLMを使えという返事が来ている。
https://mailman.speech.sri.com/pipermail/srilm-user/2009q2/000751.html
This account is not set to public on notestock.
とりあえず、SRILM-FAQのB6) e)ただし-text tune.ext -vocab tune.vocab抜きでngram-countが通ることは確認した。
…で、ここからどうやってdata.arpa作るのかにゃ?
https://github.com/BitSpeech/SRILM/blob/master/utils/src/make-google-ngrams.gawk ←お前はこの存在を知っていながらちゃんと読んでないだろう?とお叱りを受けそう。
1gms/vocabは1-gramそのもの、
2gms/2gm-0000は2-gramのデータで、2gm.idx以降は各ファイルの先頭にあるN-gram…たとえば2gm-0000の最初のエントリが「<S> ぁ 60447」なら、2gm.idxの中身は「2gm-0000 <S> ぁ」みたいな感じ。
こんなの知るかああああああ💢、というのはただの逆切れですね。お見苦しいものをお見せして申し訳ない。
Google N-gramデータを持っている人にお願いしてそういう作業をしてもらう以外、なんか方法ないのかなあ。
日本語ウェブコーパス2010に転がってるN-gramデータをsrilmに食わせて、data.arpa(3-gram)を得られればそれで良いだけなんだがなあ…その作業に必要な情報(データフォーマット)を得るにしても、google謹製のN-gramデータを手にしないといかんとかそういう状況になってる?閲覧するだけでもお金払ってとか言われても無理なんすけど(データセットを使いたいんじゃなく、既にあるデータのフォーマットをgoogle形式に合わせたいだけ)。
DBpedia, Extremism, Drugなるデータセットを使ってなにやらやったってことまでは読めたけど…うーむむ https://local.cis.strath.ac.uk/wp/extras/msctheses/papers/strath_cis_publication_2693.pdf Textual Analysis for Document
Forensics (Alice Oberacker, Aug 2017)
ユーザの自由、というのを認めたくないというのが日本のメーカーの思考だと思ってる。パソコンよりもゲーム機が売れちゃうこのお国ですし。ゲームだってMOD文化を徹底的に否定してきましたよね?
This account is not set to public on notestock.
うーん、1gms/vocabは誤魔化したとして、2gms/2gm.idxってなんなのこれ…?
サディスティック・ミカ・バンド|ライブBlu-ray&DVD『晴天 ライブ・イン・トーキョー1989』11月22日発売 https://tower.jp/article/feature_item/2023/09/08/0708
これはDVD版を買うべきか、Blu-ray版を買うべきか結構悩む。
PCでのBlu-ray視聴環境が無いので、DVDの方が扱いやすいんだけど居間のTVで見るならBlu-rayの方が良いし…
もう意味が分からない
uaa@DESKTOP-251U0UF:~$ echo 蹴っ蹴っ蹴っ | nkf -e | kakasi -KH -JH |nkf -w
けっ蹴っけっ
uaa@DESKTOP-251U0UF:~$
二度呼びしないとダメ…?
uaa@DESKTOP-251U0UF:~$ echo 吹っ切れる | nkf -e | kakasi -KH -JH |nkf -w
ふっ切れる
uaa@DESKTOP-251U0UF:~$ echo ふっ切れる | nkf -e | kakasi -KH -JH |nkf -w
ふっきれる
uaa@DESKTOP-251U0UF:~$
自分もC++のヘッダファイルの中に関数の実体書くのは流石にどーよとは思っているんだけど…テンプレート使った場合はヘッダ(クラス定義)の中に書かないとうまくコンパイルしてくれない感じなので仕方なくそーしたっていう話。多分自分のやり方に問題があるだけなんだと思うけど。
This account is not set to public on notestock.
これはkakasiのバグなのかなあ?「っ」の後の漢字を仮名変換してくれない。
uaa@DESKTOP-251U0UF:~$ echo 蹴っ飛ばす | nkf -e | kakasi -KH -JH |nkf -w
けっ飛ばす
uaa@DESKTOP-251U0UF:~$ echo 吹っ切れる | nkf -e | kakasi -KH -JH |nkf -w
ふっ切れる
uaa@DESKTOP-251U0UF:~$
uaa@DESKTOP-251U0UF:~$ echo 代々木 | nkf -e | kakasi -KH -JH |nkf -w
よよぎ
uaa@DESKTOP-251U0UF:~$ echo 代々 | nkf -e | kakasi -KH -JH |nkf -w
だいだい
uaa@DESKTOP-251U0UF:~$ echo 々木 | nkf -e | kakasi -KH -JH |nkf -w
き
uaa@DESKTOP-251U0UF:~$ echo 々 | nkf -e | kakasi -KH -JH |nkf -w
uaa@DESKTOP-251U0UF:~$
々、の扱いも…単体では読めないものとしている(これについてはそれで良いのだと思う)
uaa@DESKTOP-251U0UF:~$ echo 〆切 | nkf -e | kakasi -KH -JH |nkf -w
せつ
uaa@DESKTOP-251U0UF:~$ echo 〆 | nkf -e | kakasi -KH -JH |nkf -w
uaa@DESKTOP-251U0UF:~$
〆切(しめきり)を認識しない…?
関数テンプレートで実装される関数の実装のみ.cppに書いてあるのって、これダメ例なんですか…(大した量のコードじゃないので、ヘッダに関数の内容を実装して事なきを得た)
確かに言われてみれば非可逆の操作だな…ポストに投函。
とはいえ、e-mailも送ったものはよほどのことでない限り取り消せないから、これも非可逆操作と言えるな。
そう考えると怖いな、手紙やメールを送る行為。