問題タブ [let]
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.
scheme - ネストされた単項letとしてのSchemelet*
let*
演習として、ソースコードを表す文字列をネストされた単項レットとして書き直そうとしています。これが私の最善の努力です:
私が現在経験している問題は、そのパターンです。
次のような文字列と一致しません:
節という用語は、2番目の節にのみ一致し(c d)
ます。(var val)
残りのすべての句をリストとして受け取る必要があるように思われます((c d) (e f))
。とにかくそうする必要があります。
アドバイスをいただければ幸いです。
私を困惑させるのは、exprsが式のリストと一致するため、句も一致しない理由を考えることができないことです。
vim - 変数を使用したVimオプションの設定
かなり単純な質問がありますが、まだ解決策が見つかりません。.vimrcを編集していて、変数に保存された結果を使用してオプションを設定したいと思います。たとえば、すべての一時ファイルを〜/.vimetcに集約したいと思います。これが私がやりたいことです、
もちろん、setは変数を解決しないので、リテラル| s:vimetc.'backups /'|になってしまいますが、私が望むものはまったくありません。&s:vimetcを使用してみたところ、同様の結果が得られました。誰かがこれを行う方法を知っていますか?
linq - Linq-to-Objects および Linq-to-XML における Let セマンティクスの問題
入れ子になった XElement の定義と Linq 式のペアで構成される次のサンプルを検討してください。期待どおりに機能する最初の式は、bots を取得することによって作成された tmp を選択することにより、最下位レベルで最初と最後の XElements を繰り返しフェッチし (bots の場合)、名前 "bots ." 2 番目の式は、"Let" を使用するだけで同じことを試みますが、まったく機能しません。まず、コンパイラは型推論が機能していないと文句を言います。次に、明示的な型を入れると、IObservable になり、さらに失われます。私はこれがまったく簡単なことだと思っていましたが、失敗に非常に驚き、戸惑いました。誰かが見てアドバイスする瞬間があれば、私は感謝します. 以下をLinqPadに貼り付けることができます。
binding - Clojureの可変スコープ+評価
Clojureでは、
3を印刷しますが、
と
'変数を解決できません'例外を生成します。
http://clojure.org/evaluationによるとeval
、、、load-string
などは、その内容を評価するための一時的な名前空間を生成します。したがって、上記のコードサンプルはどちらも機能しないと思い(def x 3)
ます。これは、によって作成された名前空間ではなく、現在の名前空間で行われるためeval
です。
- 最初のコードサンプルが機能し、最後の2つが機能しないのはなぜですか?
eval
使用せずに変数がバインドされたフォームを使用するにはどうすればよいdef
ですか?
ありがとう!
coding-style - 「let」ステートメントをチェーンするときに「and」または「in」を使用する方がよいでしょうか。
これはおそらくばかげた質問だと思いますが...
お互いの値を知る必要のないlet
一連のステートメントを連鎖させている場合は、使用する方が良いですか?and
in
たとえば、次のいずれが望ましいか。
また
私の直感では、前者は必要最小限のスコープを作成するため、前者は「より良い」(「より良い」の非常に小さな定義による)である必要がありますが、後者はスコープ内のスコープです。コンパイラ/インタプリタが注意を払うスコープですが、最終的には重要ではなく、不必要に深くなります。
recursion - スキームの「レット」を理解しようとしています
単純なフィボナッチ関数を拡張しようとしていますが、各項の値を複数回使用する必要があります。だから、私let
は値を保持するために使用すると思いました。しかし、私は私が機能から外すべきだと思うものを手に入れていません。
元のfib
関数は次のとおりです。
これが同じことをする私の試みですが、let
:
結果:
ありがとう!
javascript - letブロックステートメントと同等のwithステートメントの違いは何ですか?
廃止
letステートメントのブロックバージョンは、ファイナライズされる前にES6から削除され、それをサポートするブラウザーから削除されました。この質問は現在、歴史的な関心事にすぎません。
ECMAScript 6let
ブロックステートメントを使用するwith
ことと、同等のオブジェクトリテラルを持つステートメントを使用することの間に違いはありますか?
usinglet
ステートメント
usingwith
ステートメント
haskell - Haskellは、インデントを入れたり、どこに入れたり、インデントしたりします
私は機能を持っています:
filterLengthの後、filterLengthの量を確認したいので、次のことを試してください。
エラーが発生します:
ifとinでインデントを正しく配置するにはどうすればよいですか?
ありがとうございました。
common-lisp - ステートメントが順番に実行されていませんか? (let ステートメント内の defvar)
最小限の例に減らしてみました。コードはエラーなしで実行され、期待される出力が生成されます。しかし、最初の変数が未定義であるという警告が表示されます。progn の 2 番目のステートメントは、最初のステートメントの結果を「認識」していないようです。助けてくれてありがとう!
(私は元々、コードに progn コンストラクトをまったく持っていませんでしたが、このエラーが発生した後、それを追加して、それが順番に実行を強制するかどうかを確認しましたが、エラーは同じです。)
コードは次のとおりです。
これらはファイル「input.lisp」の内容です:
これは、実行後に sbcl から取得した出力です (load "test.lisp"):
したがって、両方の定義ステートメントが実行されているように見えますが、2 番目のステートメントは最初のステートメントの結果を「認識」していません。指定された初期コンテンツで満たされているため、配列は正しく構築されます。しかし、なぜ var1 がまだ定義されていないのでしょうか?