本文へスキップ
totonoe.tech

No.06 ・ 視覚・構造系

Befunge

= 2次元の盤面を実行する言語

読みにくさ
●●●○○
書きにくさ
●●●○○
誕生年
1993年
作者
Chris Pressey
生まれた国
カナダ
学べること
プログラムは上から下に読むとは限らないということ

どんな言語か

通常のプログラムは上から下へ1行ずつ読んでいきます。この言語は異なり、平面上を上下左右に移動しながら読み進めます。

> < ^ v の矢印にぶつかると、その向きに進行方向が変わります。# は1マス飛ばす、@ は停止です。盤面の端まで進むと、反対側の端から出てきます。

作者の目標は「コンパイルできない言語をつくる」ことでした。コンパイルとは、プログラムをあらかじめ機械語に翻訳しておくことです。この言語は実行中に自分自身のコードを書き換えられるため、事前に翻訳しておくことが困難なのです。

コード例(全文)

Hello, World!

"!dlroW ,olleH">:#,_@
文字を逆順に積んで、後ろから1文字ずつ出力します

その場で実行する

このページの中だけで動きます。入力したコードはサーバーへ送られません。

上のコード例をそのまま実行します。

ボタンを押すと、ここに出力が出ます。
自分のコードを実行 ブラウザ内で実行・送信ゼロ

矢印 > < ^ v で向きが変わります。" ではさむと文字を積み上げ、, で1文字ずつ出力します。@ で終了です。

ボタンを押すと、ここに出力が出ます。

試しに: "iH">:#,_@ と書いてみてください。「Hi」と出力されます。

もっとじっくり書きたいときは Befunge の実行環境 へどうぞ。

ひとこと

コード上を読み取り位置が上下左右に移動しながら実行されます。矢印記号にぶつかると向きが変わるため、コードがそのまま経路のようになります。盤面の端は反対側の端とつながっています。

もっとくわしく(外部サイト): https://esolangs.org/wiki/Befunge

← エソラング図鑑トップへ

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト