問題タブ [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.

0 投票する
1 に答える
4212 参照

sas - SAS letステートメント:セル値を参照しますか?

SASでは%let、データベースにある値をステートメントで参照することはできますか?

たとえば、私のn inの値は、%let n=50私のデータベースの1つで計算された値、たとえば最初の行と最初の列に依存します。そして、その値は私のループで100回変更されるので、手動でその値を入力したくありません。

0 投票する
1 に答える
230 参照

haskell - シャドウイング`let`バインディングを使用するこのコードがハングするのはなぜですか?

このコードの実行:

通訳で:

CPU使用率がほとんどない状態でハングします。どうしてこれなの?期待していj = 16ました。

0 投票する
10 に答える
18995 参照

python - Haskellの「let」に相当するPythonはありますか

次のようなものを書くことができるHaskellの「let」式に相当するPythonはありますか?

そうでない場合、最も読みやすい代替手段は何ですか?

let 構文を明確にするために追加されました。

と同等です

ただし、2 番目のバージョンは、リスト内包表記ではうまく機能しません。

0 投票する
1 に答える
93 参照

emacs - 'メッセージリターンタイプとは何ですか?

私はelispの紹介に従っています。非常に最初の章。これが私がhtml本からコピー/貼り付けした2つの例です。両方の形式を評価しました。ここでは、*メッセージ*バッファーからの副作用として、戻り値と出力をコピーして貼り付けます(ミニバッファーの内容をコピーする方法がわかりません)。

最初のフォーム

*メッセージ*からの出力

2番目の形式

*メッセージ*からの出力は次のとおりです。

最初のフォームがラムダ値を返すのはなぜですか?最初のフォームが特別で、戻り値が文字列にならない理由は何ですか?

0 投票する
1 に答える
1111 参照

recursion - LISP の let を使用した不適切な構文

コードを実行しようとすると、このエラーが発生し続けます。

エラー:

私の関数は再帰的な累乗を定義することになっていますが、let に問題があります。

0 投票する
2 に答える
261 参照

lisp - lisp iterative function always returns nil

this function is supposed to count the number of times that the element 'a' appears in a list, but is not working:

This function always returns nil. May I ask where I am going wrong?

0 投票する
2 に答える
1614 参照

recursion - let 関数内の再帰

def と let が変数を異なる方法でバインドする方法について混乱しています。なぜこれがうまくいくのか、誰かが私に説明できますか:

しかし、関数を let として宣言しようとすると、コンパイルに失敗します。

編集: これは、Ankur が示した手法を使用して機能します。

0 投票する
2 に答える
65 参照

variables - 範囲の問題があると思いますか?

成績のリストを取得して GPA を出力する Grade Point Average (GPA) を計算するプログラムを作成しようとしています。(宿題ではなく、練習として)。

テストケース:

これが私の最善の推測です:

次のエラーが表示されます。

「+ の例外: a は数値ではありません」

テストケースを実行すると:

10 を返す必要がありますが、プロシージャで a を 4.0 として定義してはなりません。

誰かがこの問題を簡単に説明できますか?

0 投票する
4 に答える
178 参照

clojure - ブロック カプセル化とローカル カプセル化 - let

引数に依存しない関数に関連するデータがある場合、いつローカル カプセル化よりもブロック カプセル化を優先する必要がありますか?

いつ使用する必要がありますか:

対:

0 投票する
1 に答える
2947 参照

javascript - let var または var to let

この 2 か月間、私は JavaScript について多くのことを学んできました。何年にもわたって言語を乱用してきましたが、私は今ではその言語をよりよく理解しており、その機能的な性質の利点 を気に入っています。
最近、私はSchemeの学習を始めましたが、それはただの楽しみです。MDN リファレンスを閲覧していると、JS にはブロック スコープがありませんが、Scheme のように、特定のブロックに対してローカルな変数を宣言するために使用できるキーワードがあることに気付きましたlet

一方:

だから私が今知りたいのは、なぜletもっと頻繁に使われないのですか? X ブラウザーのサポートと何か関係がありますか? それはあまり知られていないグッズの1 つにすぎませんか?
要するに、varoverを使用する利点はlet何ですか? 注意点は何ですか?

私が知る限り、 の動作はletどちらかといえば一貫性があります (関数本体を除いて、単一のブロックでの二重宣言は を発生させTypeErrorます (ただし、ECMA6 ドラフトではこれを修正します)。
正直に言うと、この機能/キーワードは別として)あまり知られていないので、for ループの使用や、一時変数がより読みやすいコードを作成する場所での使用に対する議論を考えるのに苦労しています。let