ときどきの雑記帖 RE* (新南口)
さよならも言わずに
ローテーション?
南武線車内で流れていた「大人の60秒講座」が 60秒チャレンジ!ルイージを救え!!|任天堂 に変わっていた。
しずえさーん。
6? 7?
1200年以上の歴史で初…諏訪大社の御柱祭、最大の見せ場「木落し」中止 : 社会 : ニュース : 読売新聞オンライン
長野県諏訪地方で6年に1度行われる諏訪大社御柱祭が2日開幕し、伐採された柱を里へと運び出す「山出し」が行われた。
NHKのニュースでは「数えで7年ごと」と言っていたので なんでわざわざそんな言い回しをするのかと思ったのだけど
木落し坂(下社) | 下諏訪の観光・旅行情報【おいでなしてしもすわ】
氏子たちがまたがった巨木が、傾斜35度長さ100mの急坂を一気に曳き落とされる様は 「男見るなら七年に一度諏訪の木落し、坂落とし」とうたわれるように勇壮そのものです。
正確には満6年間隔で行われる「6年に一度」だが、慣例として数え年の7年目ごとという意味で「7年に一度」「7年目」「数えで7年」などと表記される。 大きくは「山出し」と「里曳き」にわかれそれぞれ4月と5月に、そして下社は上社の1週間後に行われる。諏訪地方あげての一大行事であり、 これに合わせて休日を設定する企業もある。
この辺の影響でそうしたんですかね。
yaccman
Quoraで The unix command ‘yacc’ stands for ‘yet another compiler compiler’, which implies there were earlier compiler compilers in Unix. What were they? という記事があったのだけどそれに回答していたのが なんとStephen C. Johnson - Wikipedia その人。
I’m the author of Yacc. As the other answers point out, TMG was alive and well, and several of us were experimenting with it. At the time, there were roughly three different ways to build a parser.
で
Steve Johnson is a very common name: there were five Steve Johnsons working at Bell Labs. One day I answered a phone call and the first thing the caller asked was “Are you the Yacc man?”. At the time, the early video game PacMan was popular, so when I needed a web address it seemed natural to pick “yaccman”. Haven’t had any web conflicts in 35 years…
ちょっと笑ってしまった>yaccman
R
R 4.2のWindowsの文字コード関連にちょっとだけコントリビュートした話 - Technically, technophobic.
ということで、人知れず平和は守られたのであった…、という話でした。
中国語
秋月電子の部品情報に中国語のPDFが当たり前になったので、「これは中国語の勉強が必要か!」と構えてます。今のところ、定格規格ぐらいにの確認なので、!読んでませんが😅 https://t.co/PeWDjujSiZ
— S𝓱𝓲𝓰𝓮𝓻𝓾 F𝓾𝓳𝓲𝓽𝓪 (@shigerufujita) April 3, 2022
else
みずしまさんの
この場合、
— kmizu (@kmizu) April 2, 2022
if文 ::= if ( 式 ) 文 else 文 であり、かつ、
文 ::= if文 または while文 または ...
という定義になっているので、
if(...) print("A") else X のXのところにif文が来てもよいわけです。で、結果的に if ... else ifという見た目になる。
というツイートに
Rust「呼んだ?」
— κeen (@blackenedgold) April 2, 2022
Rustはelse {}までが構文な関係上else ifが専用構文になってる https://t.co/vdXX0c9pZn
という反応があったので、どんな構文規則なんだろうと気になった。 コードを読むのはとりあえず止めておいて If and if let expressions - The Rust Reference あたりでいいんだろうか。
IfExpression :
if Expressionexcept struct expression BlockExpression
(else ( BlockExpression | IfExpression | IfLetExpression ) )?
IfLetExpression :
if let Pattern = Scrutineeexcept lazy boolean operator expression BlockExpression
(else ( BlockExpression | IfExpression | IfLetExpression ) )?
ふむ。
Win32
> コンパイルエラーになる部分
— AoiMoe a.k.aしお兄P (@AoiMoe) April 4, 2022
> WNDCLASS wc = { };
...
> WNDCLASS wc;
> これでコンパイルは通るようになるが、実際にはアプリケーションを実行してもウィンドウは表示されない
ウケる。C なんだから = {} を取るのではなく = {0} に書き換えるのが正解。https://t.co/gMrN13G6AQ
誰の書いた記事と思えば…😄
WNDCLASS wc = { };
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;
RegisterClass(&wc);
の= {}
を削っちゃったらWNDCLASS構造体の変数にゴミが入ったままですわな。
WNDCALSS構造体の定義はこうだし。
WNDCLASSW (winuser.h) - Win32 apps | Microsoft Docs
typedef struct tagWNDCLASSW {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
} WNDCLASSW, *PWNDCLASSW, *NPWNDCLASSW, *LPWNDCLASSW;
でまあ記事の次のページで
Windows 10で始めるC言語開発(26) WindowsでC言語開発! ウィンドウを作る (2)
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = CLASS_NAME;
RegisterClass(&wc);
のように全部のメンバーをいちいち埋めたと。
あと Module 1. Your First Windows Program - Win32 apps | Microsoft Docs が含まれるチュートリアルって(限りなくCのように見えても)C++で書くこと前提じゃないんですかね
チュートリアルのコードの直前に書かれているのが
Here is the complete code for the program:
C++
だし、一連の見出しも(Cではなく)C++になってる。
たしか最新(最後?)のPetzold本も CやC++どころかC#が使われているんじゃなかったっけ?