Raku で文字列を反転させる時に多分考えること

"Twitter" という文字列を反転させたいからと .reverse メソッドを呼ぶと: say "Twitter".reverse; 以下のようにかっこで囲まれた何かが返ってくる。 (Twitter) これは .reverse メソッドが配列用のメソッドであり、スカラーに対して呼び出すと要素が 1 つの…

他人が書いたコードを読んでいる時に 10 億回くらい思うこと

他人が書いたコードを読んでいる時に 10 億回くらい思うことを書いておこうと思う。 using してるのに finally で Dispose() したり Close() しちゃう 何もわからないのだが、よく using で囲っているのにその中の try ... finally 文の finally 節で Dispos…

vim で置換する方法

vim

:%s/buster/bullseye/g

WSL2 の Debian を 10(buster) から 11(bullseye) にアップグレードした

/etc/apt/sources.list の buster を bullseye に変更する。 deb http://deb.debian.org/debian buster main deb http://deb.debian.org/debian buster-updates main deb http://security.debian.org/debian-security/ buster/updates main deb http://ftp.d…

VB で 1 行ラムダ式を書きたい時

定義するとき: dim succ = function(x) x + 1 使うとき: Console.WriteLine( succ( 23 ) ) こういうような匿名型の配列を Dictionary にするには: dim products = { new with { .Name = "オレンジ", .Price = 100 }, new with { .Name = "リンゴ" , .Price =…

VB 書いてるときに任意の型の Type 型を取得するいくつかの方法

VB に触れるのは久しぶりなので、右と左はおろか箸を持つ方の手がどっちなのか全然わからない。 C# においてこういう風に書いていたコードも: aTable.Columns.Add( new DataColumn { DataType = typeof(string), ColumnName = "Name" } ); VB ではどう書けば…

VB の char 型リテラル

VB ではシングルクォーテーションがコメントなので、char 型のリテラルはどうなるんだろうなーと思っていたら、 文字列っぽいリテラルの後に c をつけるらしい。 例: "foo,bar".Split( ","c ) こういう例であれば、.ToCharArray() にしても大丈夫: "foo,bar"…

Msys2 で Guile をビルドする時にビルドする人がしなければいけないこと

ビルドする際、以下のようなコンパイルエラーが出る:: net_db.c: In function 'scm_gethost': net_db.c:144:18: error: storage size of 'inad' isn't known 144 | struct in_addr inad; | ^~~~ net_db.c:174:21: warning: implicit declaration of function…

yaourt は衰退しました

yaourt が死んでしまっていた*1ので、trizen をインストールした。 Perl 製であり、pacman と同じ様なコマンドラインオプションを持ってるっぽいのでいんすとーるをキメた。 あと、Antergos が死んでしまった話もする…? 参考 AUR ヘルパー trizenのインスト…

空気ねこにもおおよそ分かるにんげんは牛ではないことを RSpec で証明してみた

ネットミームをコードで表現してみるかもしれないシリーズ。 まあ、にんげん(Human)と牛(Cow)の抽象クラス Animal を定義する: # lib/animal.rb class Animal end 中身は何も無いけど、そのうち実装されるっしょ。ヘーキヘーキ。 ここら辺で Animal クラス必…

空気ねこにもたぶん分かる RSpec

空気ねこは猫、エレメンタルの青パーマネントで飛行を持ってると思われる。 消費マナは多分 (2)(B) でパワー/タフネスは 2/3 か 3/2 だと思われる。 この記事は RSpec のドキュメントを読んで学んだことを自分用にまとめたものなので、他の人にはあんまり役…

Node.js 3 分デベロップ

うにょーん(ワイルドカード的挨拶)。りひにーです。 今日は Node.js 3 分デベロップと題して、Matrix protocol 的なやつのバージョンを返すやつを Node.js で作ってみようと思います。 yarn で必要なモジュールをいんすとろーるする yarn で必要なモジュール…

すべてのピアノが破壊不能なわけではありません

(*゚∀゚) 破壊不能タグが付いているピアノだけが破壊不能です ╰( ´◔ ω ◔ `)╯ 破壊不能タグってなんだよ……… そうそう、 matrix.org っていうサイトがあって、それはつまりルーム型のチャットシステム仕様とかが書いてあるサイトなんだけど、 API がオープンなの…

apel 無し elscreen に変えた

おしまい (๑´ڡ`๑)

おやすみ

ʕ•͡ω•ʔ あれだ。今日はアドベントカレンダーはお休みなんだ。 ʕ•͡ω•ʔ うん、「また」なんだ。すまない。 ʕ•͡ω•ʔ 仏の顔もっていうしね、謝って許してもらおうとも思っていない。 ʕ•͡ω•ʔ でも、一連の流れを見た時、君は、きっと言葉では言い表せない「懐かし…

pipenv すごいなってなった話

みなさん、アバラチア!!!(挨拶) この記事は Syrup Lang Advent Calender 第 3 日目の記事である可能性が微量に存在すると思う。 pip でインストールしたパッケージが一括で更新できなくてつらいなってなってたところに pipenv っていうのがあるっていうの…

Google Colab をやってみた

みなさん、おはこんばんにちございます。 Syrup Lang Advent Calender 第 2 日目の記事だと思います。 はじめに Google Colab を使って Kaggle のタイタニックのコンペ用の Python スクリプトを書きたいなと思ったんですが、Google Colab の使い方を書いてい…

face のフォントを変更する方法

list-faces-display で face の名前を知る 私の場合は markdown-mode の face だったので、なんかそれっぽい: markdown-code-face markdown-inline-code-face markdown-pre-face を変更すればいいと見当を付けた。 変更する set-face-attribute を .emacs と…

ゔぇは Vue.js のゔぇ

へろーわーるど var app = new Vue( { el: '#app', data: { message: 'V is for Vue.js' } } ); <div id="app"> {{ message }} </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="./index.js"></script> これを書いてるときに、markdown-mode のコードのフォントがおかしかったので修正していた。

コメントを承認制にした

昨日からスパムが来ていてウザいので、コメントを承認制にしました。 あと、https にしてみました。

標準入力に入力が詰まってるかどうかを調べるには eof を使えばいいらしい

よく、標準入力を使って: % ps ax | grep hoge とかやるけど、Perl6 ではどーやるんだろーと思ったので、IO::Handle を調べていたら、 &eof を使えばいいっぽいということがわかったので、すくりぷよ書いてみた: #!/usr/bin/perl6 # -*- mode: perl6; -*- # …

MoarVM の Configure.pl を Perl6 で書こうとした話

Perl が書けなかったので、MoarVM の ./Configure.pl を Perl6 で書いて理解してみようと思った: use v6; use Getopt::Long; constant $NAME = 'moar'; constant $GENLIST = 'build/gen.list'; sub MAIN() { my Bool $failed = False; my %args; my %default…

すごくシンプル過ぎるビルドシステム書いた

2 日も空いちゃったけど、書いた。 いつしか加わってしまった Emacs の markdown-mode の末尾の半角スペース 2 つが 2 つのアンダーバーになってしまう クソ現象で markdown-mode が使えないため、text-mode を使っている。 と思ったら、Emacs を再起動した…

Perl6 の参照の話

というわけで、アドベントカレンダーを登録してないけどそんな気持ちでクソエントリを書いていこうと思う。 前もやったかもしれないけど、Perl6 の参照の話をしよう。 my @puyo = (1, 2, 3); 簡単な配列を入れた @puyo を宣言する。 そして、それを $myon に…

虚無い

虚無(きょむ)い。 あるいは nil い。 つまるところ、こういう風に書いたら: (null? me) #t が返ってきそうな塩梅ということになる。 これは最近というわけでもなく、だいぶ前からだということになるんだけれども、例外が飛び出るわけでもなく、あまり問題が…

なんと Perl6 ではホームディレクトリを表すチルダを変換してくれない

嘘だろ?! って思ったんだけど、ほんとっぽい。 ~/.bashrc を /home/alice/.bashrc って変換してくれるようなバンドルされてるメソッドとか関数がないって意味ね。 # -*- mode: per6; -*- # \file: 00-childa.t use v6; use Test; plan 2; is $*HOME.add( '…

NativeCall つらい

GLib とか Gtk を NativeCall で呼び出そうとしてるんだけど、つらい。 C 言語でやるような typedef はどーやんの? GLib とかでこーいう感じの gsize は: typedef unsinged long gsize; Perl6 では以下のように constant る。 constant gsize = uint32; 構…

Perl6 の正規表現は不思議なんじゃなくて、自由だった

ここ を見て Perl6 のコードに移植するっていうのをやっていた。 Perl6 の正規表現が不思議すぎるなーと思って書いていたんだけど、よく読んだら自由だったらしい。 function isNumber (x) { if ( typeof x === 'number' ) return true; if ( /^0x[0-9a-f]+$…

GMake サバイバルガイド 便利そうな関数編

make は前回の記事で十分使えるようになったんじゃないかと思います*1。 私も険しいまけふぁいるの坂を駆け上がっている途中なので、ここで紹介できる関数は 2 つしかないのですが、 ええい、たらーん!!! という方もおられると思います。 そのような方はG…

GMake サバイバルガイド

この GMake サバイバルガイドでは、まけふぁいる*1をささっと書いて楽をしたいけど、 どーやって書くのかわからないといった様な人たちに向けてこんな感じに書けば良いんじゃないかなーというのを書いていると思います。 あと、この記事のまけふぁいるのサン…