問題タブ [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.
functional-programming - 一連の let 定義
私は OCaml の初心者で、次のような一連の let に問題があります。
しかし、許可の間に、Hashtbl.iter と単位を返す他の関数を使用します。私が行った場合:
コンパイラでエラーが発生します。しかし、もしそうなら:
コンパイラはエラーを発生させず、「h」が使用されていないことを示す警告のみを発生させます。問題なくそれを行うための最良の方法は何ですか?ありがとう。
clojure - Let フォームでの左から右へのバインド順序
私はClojure の喜びで破壊の例に取り組んでいますが、私を驚かせた例に出くわしました。これらはどちらも同じ出力を生成します。
最初の形式は私の直感に反していました。なぜなら、束縛と優先順位が左から右に起こると考えると、「すべて」に割り当てる前に range-vec が定義されないからです。2 番目の形式である range-vec は既に定義されており、2 番目の let ステートメントで all に割り当てられています。これは、これまでに知っている規則に従っているようです。シンボルがバインドされた時期とその順序はいつわかりますか?
recursion - スキーム:リバースは何の影響も受けていません
これと同じものを出力します:
私の単語が反転されてから計算されないのはなぜですか?
入力: (キー '(xyz))
出力: 2475 (両方の方法で)
なぜこれが起こるのかわかりません。なぜこれが起こっているのか、誰か助けてください。
list - Haskell - リスト内包表記 - 入力要素を取得する
入力がリストの場合、リストの理解に問題があります。
これらすべてのIII演習では、次の使用は許可されていません: map
、filter
およびconcat
!!!
パートI
要件:
関数は、型が
型であるトリプルf1
のリストを取得しますxs
(a, b, cs)
a
b
Int
c
[Int]
関数はペアのリストを生成する必要があります(a · b, b + c)
。cs のすべての c AND 生成されたリストには、最初の要素が 2 番目の要素よりも大きいペアのみが表示される必要があり(a · b) > b + c
ます。
例:
次のリストを返す必要があります。
私の試み:
それは正常に機能しますが、入力としてのリストでは機能しません。
だから私はいくつかの方法を試しましたが、残念ながら正しい方法ではありません:-(
最初のアプローチ:
2番目のアプローチ:
3番目のアプローチ:
3つすべてが機能しません!
dave4420 による解決策:
パート II
要件:
関数 g1 は、同じ型のペアのリストを取得し、そこから単純なリストを生成します。
例:
私の試み:
リスト内包表記の出力の a,b の構文が正しくないため、コンパイル エラーが発生します。
ただし、a または b または a+b を返すことができます。
また
これも手伝ってくれませんか?
もう一度ありがとう
第三部がやってくる…
lambda - let* をラムダ式として表現する方法 (通常の let ではありません)
スキームに関連する質問があります。let* をラムダ式として実装するにはどうすればよいですか。もっと正確に言うと、「通常の」let については疑問に思っていませんが、ある let 式を別の式の中で使用できるようにする * 付きの let については疑問に思っています。
vim - gist-vim: トークンの場所を変更する
gVim と一緒に mattn の gist -vimを使用します。すべてうまく機能しますが、ホームディレクトリにある認証トークンに感謝しません。
そこで、プラグイン ファイルs:configfile
を調べ始めたところ、dev が に設定するという変数が見つかりましたexpand('~/.gist-vim')
。
これにより、トークンの場所を変更するためlet s:configfile = expand('~/some/other/path/gist-vim')
に myに含めることができると信じています。vimrc
しかし、うまくいきません。を実行すると devs コマンドが再度呼び出される:Gist
ので、設定が上書きされますか? コードをフォークしていじり始める前に、質問する必要があると思いました。