問題タブ [scala]
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 - Scala で使用する Wicket のような Web フレームワークはありますか (リフト以外に)?
Scala 言語を使用してプロジェクトを開始したいと考えています。Web フレームワークを検索しているときに、Lift を見つけました。しかし、それは私が探していたものではありません: HTML とコードを完全に分離した Web フレームワークです。Lift にはいくつかの優れた機能 (および学習曲線) がありますが、HTML とコードを完全に分離する必要があります。Scala 言語の Wicket、Tapestry、Barracuda のようなものを見つけたいと思っていました。
HTML テンプレートを再利用できるのは良いことですが、HTML テンプレートを「静的アプリケーション」のモックアップとして機能させることがより重要です。Tapestry では、静的テンプレートにリンクを配置するだけで、それを使用して静的ナビゲーションとアプリケーションの一種のプロトタイプを作成できます。
では、Scala 言語と連携しやすい Web フレームワークを他に知っていますか?
ありがとう、ルイス
scala - Seq[Char] として文字列に一致するパターン
Scala では、文字列を Seq[Char] として扱うことにより、文字列の個々の文字に基づいてパターンを定式化することができます。
この機能の例は、A Tour of Scalaに記載されています。
これはそこで使用されるコード例です:
}
これに関する問題は、スニペットの 3 行目です。
なぜこの種のキャストが必要なのですか?String は、すべての状況 (パターン マッチングを含む) で Seq[Char] のように振る舞うべきではありませんか? ただし、この変換がないと、コード スニペットは機能しません。
scala - 空の文字列が Seq.empty として一致しないのはなぜですか?
編集: これは、Scala 2.8 以降で修正されてから長い間、古いバグでした。
Pattern matching a String as Seq[Char] という質問に関するいくつかの実験中に、別の奇妙な一致現象に出くわしました。文字列を一連の文字として扱う次のコードを考えてみましょう。
空の String で input を呼び出すと、""
正しく生成され"Empty"
ます。
ただし、最初の一致句を次のように書き直すと、
の一致は""
失敗し、代わりに default 句に一致します。
Scala ライブラリのソース コードを見ていくと (理想的な世界では、これを行う必要はありません :-))、 と のSeq()
両方Seq.empty
がRandomAccessSeq.empty
. Seq()
どうやら、これは空の文字列のみに一致するため、上記の現象とは一致しません。
更新: さらに実験を重ねると、この質問は次のように絞り込むことができます。
これは基本的に、空Seq
が自動的に等しくないことを意味しますSeq.empty
。そのため、定数と照合する場合 (starblue が提案するエクストラクタを使用するのではなく)、この不等式は一致の失敗につながります。String
空をシーケンスとして解釈する場合も同様です。
unit-testing - 単体テスト Scala
私は最近 Scala 言語の学習を始めたばかりで、 TDDの方法でそれを行いたいと考えています。Scala 用の単体テスト フレームワークとその長所/短所について、あなたの経験を共有していただけますか。
私は Scala 開発に IntelliJ IDEA を使用しているので、IDE サポートでテストを実行できると便利です。
.net - scala.net の本番環境は整っていますか?
Scala にも .NET 実装があるようです。それがルーズエンドのない完全な実装なのか、それとも単なるショーケースなのか疑問に思っていました。
これから開発するアプリには、Web でのメインの実装に加えて Windows GUI が必要なので、これは重要です。コア コードを 2 つの実装間で移植できる言語を使用することは、取引を成立させるように見えます。
Scala の .NET 実装に取り組んだ人はいますか? フィードバックはありますか?
performance - 「ハッシュ短所」とはどういう意味ですか?
いつ使用するのか、そしてその理由は?
私の質問は次の文から来ています:「いくつかのクラスで短所をハッシュし、それらのインスタンスを参照の同等性と比較する」
performance - Scala のパターン マッチングはバイトコード レベルでどのように実装されていますか?
Scala のパターン マッチングはバイトコード レベルでどのように実装されていますか?
それは一連のif (x instanceof Foo)
構造のようなものですか、それとも何か他のものですか? そのパフォーマンスへの影響は何ですか?
たとえば、次のコード ( Scala By Exampleページ 46 ~ 48 から) が与えられた場合、eval
メソッドの同等の Java コードはどのようになりますか?
PS私はJavaバイトコードを読むことができるので、バイトコード表現で十分ですが、おそらく他の読者にとってはJavaコードとしてどのように見えるかを知っている方が良いでしょう.
PPS 本Programming in Scalaは、Scala がどのように実装されているかについて、これと同様の質問に答えていますか? 本を注文しましたが、まだ届きません。
xml - Scala XML シリアライゼーション
Scala のパワーを見て、組み込みの Scala 言語機能とライブラリを使用して (たとえば、XMLEncoder、XStream、または JAXB を使用せずに)、任意のオブジェクト グラフを XML との間でシリアライズおよびデシリアライズできるのではないかと思います。残念ながら、そのような解決策は見つかりませんでした。何をアドバイスできますか?
ajax - Scalaリフトフレームワーク、複数の値を送信するajaxフォーム?
私はリフトを始めたばかりで、通常のフォームを ajax フォームに変更しようとしていますが、メソッドprocessEntryAdd
が呼び出されることはありません。
私がやろうとしていることを達成する方法、または上記のコードが機能しない理由。ボタンが押され、2 つのローカル変数が設定されると、2 つのフォーム フィールドの値が送信されますがfirstName
、lastName
SHtml.submit に関連付けられた関数は呼び出されません。
ありがとう!