変数名の大文字ですHaskellの変数に名前を付けるためにどのように小さなケースにする必要がありますが、物理学にHaskellで
我々は グラム = 9.8を保存したい場合は、.HSファイルで変数を宣言する方法とG = 6.67300×10-11(以下のシナリオで)?
従来物理学者は言及:
(1)加速度重力により地球上
G = 9.8メートル/秒^ 2
(2)ユニバーサル重力定数
をG = 6.67300×10-11m3kg-1s-2
変数名の大文字ですHaskellの変数に名前を付けるためにどのように小さなケースにする必要がありますが、物理学にHaskellで
我々は グラム = 9.8を保存したい場合は、.HSファイルで変数を宣言する方法とG = 6.67300×10-11(以下のシナリオで)?
従来物理学者は言及:
(1)加速度重力により地球上
G = 9.8メートル/秒^ 2
(2)ユニバーサル重力定数
をG = 6.67300×10-11m3kg-1s-2
あなたはちょうど別の名前を考え出す必要があります。大文字と小文字の区別は、構文の一部です。
これはあなたのケースでは不幸なことかもしれませんが、設計上のトレードオフです。異なるもの(変数とコンストラクタの間など)の区別を簡単にするために、小文字で始まる識別子と大文字で始まる識別子は根本的に異なります。
意味のある名前を付けることができます。数学者や物理学者は、歴史的に、刻々と変化するシンボルを使用することを好んだからといって、ロットの記憶以外にはそれらを解釈する方法がないとしても、あなたがする必要はありません。我々は長時間手書きではなく今入力しているので、earthGravity
とgravitationalConstant
の式を定義することは、g
とG
という点よりも書くのがそれほど難しくありません。
または、プレフィックスがc
のすべての識別子が標準のよく知られている定数を表し、cg
とcG
を使用するように指定できます。
わかりません:よく知られている1文字の名前を持つ* formula *を読むことは、長い形式の名前を持つ同じ数式を読むことよりも簡単です。全体の数式を「earthGravity」のような名前よりも短い名前で一目瞭然に見るのははるかに簡単です。 –
@TikhonJelvis本当に、私はちょっと不誠実です。単一シンボルの名前が既に存在し、*がよく知られていることを考えると、伝統的な名前は少し読みやすくなります。しかし、すべてのコードがそのように書かれていれば、それは理解できません。これまでにAPLで書かれたプログラムを見たことがありますか? – Ben
私は単にg
と_G
を使用します。私はアンダースコアがそれほど気を散らすわけではないと思う。
しかし、未使用の変数警告については、GHCのメカニズムと相互作用します。アンダースコアで始まる名前は無視されます。 –
さて、そうです。私は 'g'と' bigG'を提案します。 –
ああ、私はこれを知らなかった。 – Landei
実際に定数を吐き出し、おそらく基本乗算を行って、physicsConsts "gG"がg * Gになるようなハンドラを実装できます。きちんとしたDSLを実装することは、医師が注文したものだけかもしれません。 – Sarah
@Sarah:「mathy」DSLは本当に素晴らしいでしょう。数式文字列から関数に移行することができれば、本当にうまくいくでしょう。次に、関連する数式をそのまま埋め込むことができます。自己文書化コードの良い例です。私はあなたがタイプセーフな方法でそれのようなものを実装する方法を知っています。タイプシステムによって強制されるユニットを持つことも素晴らしいでしょう。私はF#について読んで覚えています。 –
@TikhonJelvis:余計な話LOL –