ときどきの雑記帖 RE* (新南口)
Alone in the Dark
一本背負い投げ
例のイベントの中継で知ったのだけど、今って(昔から?) 「一本背負い(いっぽんぜおい)」とは言わないで 「一本背負い投げ(いっぽんせおいなげ)」 というのね。
おだを上げる
みずしまさんらしい記事だなあと思いつつそこはスルーして
たぶんみずしまさんの記事に対するブクマコメントだと思うけど 元の場所を探すのは面倒なので引用の引用で。
居酒屋でおだをあげてるよりは、世の中に対する影響があるんじゃないの。
相手かまわず勝手な気炎を上げること。 「おだ」は「お題目」が由来とされる。 「昨日は酔っぱらっておだを上げていたね。」のように用いる。
へー(知らなかった)。
テーマソング
これでようやく「あの曲」をやたらと耳にすることもなくなるのか。 なんつーか大規模スポーツイベントのたびに 「テーマソング」つくるようになったのっていつからだっけ? 曲の良し悪しとは関係なく、なにかにつけ(BGMとしても)流されるのは ちょっと勘弁してもらえないかなあと思い続けて幾星霜。
- NHK/民放オリンピック‥歴代の放送テーマソングとは? – エンタメ生活 PRiVATE LIFE
- 4年に一度!夏季・冬季 歴代テーマソングまとめ【mysound】
- ワールドカップの歌!日本歴代テーマソングまとめ!2018はSuchmos! | COCORI
1964年はとりあえず別枠として、1972年…そんな昔から。 もっとも1988年のソウル大会まで間が飛んでいるので、1988年からと見た方がいいのかも。 それでもその頃から今みたいな頻度で流されてたかなあ…
腕時計
「刻む」
A simple string handling library for Microsoft Fortran-80
ちょっと前にこんな記事を見かけた。
- A simple string handling library for Microsoft Fortran-80 | Hacker News
- ratboy666/string: Microsoft FORTRAN-80 (F80) string handling library. Simple, fast, all FORTRAN.
大学時代にFORTRAN-77を使っていた(使わされていた?)んだけど 「FORTRANで文字列ってどう扱ったんだっけ?」 となるくらいには忘れていた(笑)
どんなんだろうと適当なファイルを見る。
C **********************************************************************
C * *
C * STRCPY - COPY STRING *
C * *
C * COPY SRC$ TO DST$. DST$ MUST BE LARGE ENOUGH TO ACCOMODATE SRC$. *
C * *
C **********************************************************************
C
SUBROUTINE STRCPY(DST$,SRC$)
REAL DST$,SRC$
C
INTEGER I,J,K
REAL S$
INTEGER IS$(2),S$OFF,S$LEN
REAL T$
INTEGER IT$(2),T$OFF,T$LEN
INTEGER STRMAX,STRUSE
BYTE STRDAT(1)
COMMON /STRSTO/STRMAX,STRUSE,STRDAT
EQUIVALENCE (S$,IS$(1)),(IS$(1),S$OFF),(IS$(2),S$LEN)
EQUIVALENCE (T$,IT$(1)),(IT$(1),T$OFF),(IT$(2),T$LEN)
C
S$ = DST$
T$ = SRC$
S$LEN = 0
DST$ = S$
IF (T$LEN .LE. 0) RETURN
DO 1 I = 1,T$LEN
J = S$OFF + I - 1
K = T$OFF + I - 1
STRDAT(J) = STRDAT(K)
1 CONTINUE
S$LEN = T$LEN
DST$ = S$
RETURN
END
サブルーチンに対する引数の型がREALってどういうこと? という疑問を持ちつつ改めてgithubに置かれているファイルの一覧を見ると、 STRING.TXTというものがあったのでちょっと読んでみた。
STRLIB.REL is a string handling library for Microsoft FORTRAN-80.
My initial target for AM9511 support was F80, but F80 implements
FORTRAN IV, which is quite poor with string handling. MBASIC is
better, but the garbage collection can take a long time on a 2MHz
8080.
David R Hanson published "A Simple Technique for Representing Strings
in FORTRAN IV" in Communications of the ACM, November 1974. STRLIB
is an implementation of that technique.
The basic technique is to define a string by an offset and a length.
These are two integers, and are packed into a single REAL number.
FORTRAN-80 EQUIVALENCE statement is used to cast the REAL into the
two needed INTEGER values.
String storage is an arrray STRDAT (string data). All offsets are in
the same array. This string space is divided into two sections: a
PERMANENT area and a TEMPORARY area. The permanent area is a index 1
and up, while the temporary area grows down from the top. A mark and
release strategy is used to manage the temporary area, avoiding the
costly garbage collection of MBASIC. As a pleasant benefit, LEFT$,
RIGHT$ and MID$ return descriptors pointing to the source string;
we ensure that middle of string cannot be assigned ("mostly" invariant).
The only string modification is string concatenate is STRCAT.
But, the RIGHT$, LEFT$ and MID$ functions work very quickly, as they
need only create a new descriptor, with no data being copied.
なるほど?
“A Simple Technique for Representing Strings in FORTRAN IV” というのも読んでみたかったけど、 残念ながらお金が必要な模様(金額は調べていない)。
- GNU Fortran - 6.1.14 ホレリス定数のサポート - GNU Fortranは、割り当て、 DATA ステートメント、関数およびサブルーチン引数でホレリス定数をサポートします。 Hollerith定数は、文字数を示 - 日本語
- H 形編集
- Fortranにおける文字型変数の宣言方法と関連機能 - Qiita
awkで複数行レコード
Qiitaから。
[Q&A] 【シェル芸】改行毎にawkで区切り、grepで特定の文字列が入っているレコードを抽出したい - Qiita
address.txtから改行毎に区切り、4つのレコードとし、そのうち「合格」という文字列が入っているレコードを抽出するにはどうすればよいでしょうか。
という質問で、入力レコードは
東川 雄一
合格
080-1111-1111
〒111-1111
××県××区A町 1-1-1
ABCビル1001
西村 祐二
不合格
080-2222-2222
〒222-2222
××県××市B町 2-22
南山 裕三
合格
080-3333-3333
〒333-3333
××県××市C町 3-3-3
XYZハイツ3号室
北岡 優四
不合格
080-4444-4444
〒444-4444
××県××区D町 4-4-4
という形式。空行が区切りになっている複数行からなるレコードという、 昔(いつ?)はそこそこ見かけたやつっすね。
んで
以下のコマンドを入力しても何も出力されません。
cat address.txt | awk 'BEGIN{RS="";FS="\n"}' | grep '合格'
そりゃそうだろうというツッコミ(そもそもawkから何も出力していない)はさておき
回答で寄せられた
cat address.txt |
awk 'BEGIN{RS=""} {$1=$1; print}' |
grep -v "不合格"
で期待通りの結果だったらしいのは、 複数行のレコード内容を一行にしちゃって良かったということなんだろうか? にしたって、いちいちgrepを使わずに
awk -vRS='' -F'\n' '$2=="合格"{$1=$1; print}'
なんかでもよさそうな気が。 あ、ここでRSへの設定をBEGIN節ではなく-vオプション使ってやっているのは単なる好み。 そして-F’\n’は、RSに’‘を設定するとそのままでは空白(スペースやタブの連続)もフィールドセパレーターになっちゃうから (こっちも-vで設定してもよい)。
解説はこの辺かな。
4.9 Multiple-Line Records : The GNU Awk User’s Guide
When RS is set to the empty string and FS is set to a single character, the newline character always acts as a field separator. This is in addition to whatever field separations result from FS.
無論、「東川 雄一」なんかを二つのフィールドに分けてしまっていいということなら、 $2を$3に置き換えてしまいFSにはノータッチ ということでもヨシ!
訳語
HNで訊いてみたら、英語では "interactiveなんとか" と呼ぶ人が多いらしい。和訳しにくいなあ。https://t.co/dHsM4qAhUQ
— 新山祐介 (Yusuke Shinyama) (@mootastic) September 4, 2021
Slightly off-topic question: how would you call these playable things embedded i… | Hacker News
I’ve seen other people use “interactives”, “interactables”, and “explorables” (as in “explorable explanation”). Those feel a little forced to me.
At Distill we simply called them “figures” or “diagrams”; sometimes “interactive figures” or “interactive diagrams” when the distinction needed to be made.
I would call them interactive animations.
これは確かにいい日本語が出てこない…
~let
↑のツイートの前にあるツイートで 新山さんが紹介しているサイトをみると
大学初年度レベルの数学の諸概念 (固有値、フーリエ級数、線型補間など) のインタラクティブな解説一覧。https://t.co/MZTeLS7OtO
— 新山祐介 (Yusuke Shinyama) (@mootastic) September 3, 2021
mathlet というタイトル。そういや最近某氏と「~let」という接尾辞の話をしたなあ。