問題タブ [tacit-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rust - Rustで暗黙のプログラミングは可能ですか?
暗黙のプログラミングの Haskell イディオムのいくつかは、Rust に翻訳可能ですか?
recursion - J での再帰的暗黙関数の作成
私は J の初心者で、演習としてフィボナッチ関数を作成しようとしています (言語を学習するときに常に 2 番目に作成する関数です)。自分のやり方で何が間違っているのか正確にはわかりません。私は暗黙のうちにそれを定義しようとしましたが、引数が 1 より大きい場合はハングします。
また、明示的に作成しようとしましたが、うまくいきました。
3 を 13 に置き換えて、暗黙のうちに作成しようとしましたが、エラーがスローされました。
だから、私がここで間違っていることを正確に説明してくれる人を求めています。
f# - このポイントフリーの F# 関数の動作が、ポイントフリーでないバージョンと異なるのはなぜですか?
次の F# を検討してください:-
関数getValFromMapPartial
とgetValFromMapPartialAndTacit
は、私の考えでは同一です。F# は、それらがまったく同じ型を持っていると言います: (string -> int)
. それでも、それらは非常に異なる動作をし、非常に異なる方法でコンパイルされます。dotPeek を使用して逆コンパイルすると、それはgetValFromMapPartial
メソッドであることがわかりますが、ctor でgetValFromMapPartialAndTacit
初期化されるフィールドです。
getValFromMapPartialAndTacit
F# は、最高の警告レベル (VS 2012 と 2013 の両方) でも、について文句を言いません。それでも、上記のサンプルでこの関数を呼び出すと失敗します。おそらく、someMap
その可変性にもかかわらず、 の最初の空のバージョンがラップされているためです。
これら2つの機能に違いがあるのはなぜですか? 暗黙的/ポイントフリー バージョンが失敗する可能性があるという F# からの警告があるはずですか?
f# - モジュールとクラスの同じ F# 関数の型シグネチャの違いはなぜですか?
ここでの私の質問と密接に関連していますが、実際には別の質問です...
次の F# を検討してください:-
クラスの場合とモジュールの場合の両方で、非常に異なる方法getValFromMapPartial
でgetValFromMapPartialAndTacit
動作し、IL に異なる方法でコンパイルされます。クラスとモジュールの両方のケースで、前者は真の構文関数のように動作し、後者はラムダ計算関数のように動作します (これはユーザーの Marc Sigrist のおかげです)。
モジュールの場合、型シグネチャは正しいようです:-
しかし、クラスの場合、型シグネチャは同じです:-
なぜそうなるのでしょうか?
どちらの場合でも真の構文関数として機能するのに、getValFromMapPartial
クラスの場合にラムダ計算関数として型付けされるのはなぜですか?
refactoring - J式から体系的に名詞引数を抽出する
Jの式から名詞を引数として抽出するための体系的なアプローチは何ですか? 明確にするために、2 つのリテラルを含む式は、リテラルの代わりに使用される左と右の引数を持つ 2 項式になる必要があります。
私は暗黙のスタイルを学ぼうとしているので、名前付き変数が避けられる場合は使用しないことを好みます。
具体的な例は、私が作成した単純なサイコロ シミュレーターです。
引数 10 と 6 を式の外側に体系的に抽出して、任意のサイズのサイコロをいくつでも振れるようにしたいと思います。
私の例を使用して自由に説明してください。ただし、任意の式の手順に従うことができるようにしたいと考えています。
編集: x と y を使用した引用バージョンは、たとえば13 : '>:?x#y'
. 誰かが定義を見つける方法を教えてくれれば13 :
、私自身の質問に答えることができるかもしれません.
j - J 暗黙句評価
2(*i.)5
が評価されるのはなぜ0 2 4 6 8
ですか?
そうであることは明らかです2*i.5
が、()
フックを作成し、右から左に評価すると、
そして 2 はそのリストに作用しません - では、どこが間違っているのでしょうか?
implicit - Jでの暗黙のプログラミングの長所/短所
JI の初心者として、暗黙のプログラムに直面することがよくあります。暗黙のプログラムは、より馴染みのある明示的な形式と比べてかなりビザンチンに見えます。
解釈が難しいからといって、暗黙の形が正しくない、または間違っているとは限りません。多くの場合、暗黙の形式は明示的な形式よりもかなり短いため、一度にすべてを視覚的に確認する方が簡単です。
専門家への質問: これらの暗黙の形式は、構造のより良い感覚を伝え、潜在的な計算メカニズムを抽出する可能性がありますか? 他にメリットはありますか?
答えが「はい」であり、いくつかの重要な例に当てはまることを願っています...