0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

記号と読みやすさ ― J 言語入門

Posted at

J 言語では記号が多用されます。角括弧 [ ] や波括弧 { } に至っては、「開く」「閉じる」の対応も無く、バラバラに使われます。また、< <. <: のように .: を繋げると別の機能を表し 1i. のようにアルファベットも使われます。

(そのため、可読性が良くないと評されることが よくあります。)

J 言語が基本的な機能 (プリミティブ) を記号で表すのには、理由があります。

単に短く書けるというのも一つの利点ですが、それだけではありません。

もし、i. (dyad) の代わりに index_of という名前の verb が標準ライブラリに用意されていたとします。次のコードは何を実行するでしょうか。

3 7 2 index_of 7

本当に常に 3 7 2 i. 7 と同じ振る舞いをするでしょうか。同じファイルの中に固有の index_of の定義があるかもしれませんし、別のライブラリの verb を使っているかもしれません。

J は静的型付けの言語ではないので、変数名は常に動的に解決されます。また、変数はミュータブルで、noun も verb も modifier も代入することができます。

記号が使われるのには、言語の中心的な機能と変数名が衝突してしまうことや、再代入が起きることを予防する意味があります。

さらに、これらの記号は文脈によらず 2「共通の語彙」の役割をするので、他人の書いたコードを読む上ではむしろ理解を手助けするものになります。


[ 目次 ]

  1. 単語の変化になぞらえて inflection (屈折・語形変化) と呼ばれます。

  2. どんな変数が定義されているか、どんなライブラリを使っているかに関係なく。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?