問題タブ [function-literal]
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.
scala - Questions about placeholders in Scala
Consider the following definition in Scala:
The code assigns to f the string representation of the function literal _ + 1, which is quite natural, except that this is not i want. i intended to define a function that accepts an int argument, increments it by 1, and returns its string format.
To disambiguate, i have to write a lambda expression with explicit parameters:
So can i conclude that the placeholder syntax is not suitable for complex function literals? Or is there some rule that states the scope of the function literal? It seems placeholders cannot be nested in parentheses(except the ones needed for defining its type) within the function literal
javascript - JavaScript における関数リテラルの正確な意味
JavaScript には、オブジェクト リテラルと関数リテラルの両方があります。
オブジェクトリテラル:
関数リテラル:
リテラルという言葉の意味は何ですか?Java にはメソッド リテラルがあると言えますか?
scala - 無名関数の引数の型は完全にわかっている必要があります。(SLS 8.5)
関数リテラルがあります
エラーメッセージが表示される
SLS 8.5を調べましたが、説明が見つかりませんでした。
関数を自分で展開すると
エラーはなくなります。
(a) なぜこれがエラーなのですか?
(b) どうすれば修正できますか?
: QualifiedType
パターンと => の間に追加するという明らかな修正を試みましたが、これは構文エラーです。
私が気づいたことの 1 つは、コンテキストが違いを生むということです。関数リテラルを、期待されると宣言された関数の引数として使用すると、QualifiedType => B
エラーは発生しません。しかし、 を期待する関数の引数として使用するとA => B
、エラーが発生します。ここで起こっていることは、型が QualifiedType のスーパータイプであるオブジェクトにパターンが適用される可能性があるため、関数が適用されないという保証がなければ、コンパイラは明らかな型を割り当てようとしないということです。 QualifiedType ではないもの。本当に私が望んでいるのは{QualifiedType( preds, ty) => ...}
、Haskell の\QualifiedType(preds,ty) -> ...
.
scala - Scala の引数としての複数行関数リテラル
関数リテラルを使用すると、複数のステートメントであっても中括弧を無視できることがあるのはなぜだろうかといつも思っていました。これを説明するために、複数行の関数リテラルの構文では、ステートメントを中かっこで囲みます。そのようです、
ただし、引数が 1 つの関数に渡す場合は、関数リテラルに必要な中かっこを無視できます。
したがって、与えられた関数 f に対して、
このように f() を呼び出すことができます。
または、関数呼び出しで括弧の代わりに中括弧を使用する場合、関数リテラルから内側の中括弧を削除できます。したがって、次のコードも機能します。
上記のコードはより読みやすく、多くの例でこの構文が使用されていることに気付きました。ただし、これが意図したとおりに機能する理由を説明するために、私が見逃した可能性のある特別なルールはありますか?
javascript - ノックアウト - keyCode プロパティがラップされた関数を介して渡されない
Enter入力フィールドで検出したいので、キープレスイベントを持つようにノックアウトバインディングを設定しました。
私が以下を持っている場合:
そして私のビューモデルは
その後、キーコードが期待どおりに表示されます。
ただし、追加のパラメーターを関数に渡したいので、 hereKeyPress
の例に従って、
そして私の対応する関数は今
これで、keyCode
プロパティは常に 0 を返します。event
オブジェクト内で、charCode
キーを押すたびにプロパティが設定されていることがわかりますが、プロパティは設定されていませんkeyCode
(印刷できない文字はすべて 0 であるため、charCode
プロパティはあまり使用されません)。
event
オブジェクトにoriginalEvent
プロパティがあることもわかりますがkeyCode
、ここでは同じ、つまり0 です。
keyCode
それで、関数リテラルを介して伝播するプロパティを取得する方法を誰か教えてもらえますか?
scala - 部分的に適用されたコンストラクターをラップする Scala クラス - それを使用して API メソッドを作成する方法は?
時間間隔を処理するための単純な API を作成しようとしています。(私は joda time を認識しており、それを再発明しようとしているわけではありません。これはむしろ演習です)。
私が達成したいのはこれです:
(1)
(2)
次のように(1)を実装することができました:(toString、Ordered trait、asoを無視)
ただし、(2) (つまり Interval.forMinutes) の実装方法がわかりません。
これについて頭を包むことはできないようです。
この「HalfInterval」ラッパーTime => Interval
はまったく意味がありますか? 機能概念モデルを念頭に置くのではなく
、呼び出しが計画どおりに機能するように、経験的に設計しました。
このAPIを達成するためのより良い方法はありますか?from(..).to(..)
ありがとう
scala - val と def による関数リテラル参照
参照/定義のこれら2つのアプローチの決定的な違いを理解しようとしていますFunction Literal
(への参照anonymous function
):
にval
そして、def
使用感としてはほぼ同じと思われます。引数として受け入れる関数にv2
orを渡すことができます。その..に引数を渡すf2
(Int) => Int
v2の場合、Function1
オブジェクトを参照するオブジェクトを作成すると思いFunction1
ます..のようにproxy
?
わかりました..私の質問は: 1 番目と 2 番目のアプローチの長所と短所は何ですか?
そして、それは によって定義されdef
ていますが、まだFunction Literal
ですか?
function - scala 関数リテラルの `return`
私はこのようなことをしようとしています:
ただし、私の IDE はReturn statement outside method definition
. では、scala の関数リテラルで明示的に return ステートメントを指定するにはどうすればよいでしょうか?