問題タブ [diamond-operator]
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.
perl - スカラー コンテキストでの Perl ARGV 値
次の Perl スクリプトがあるとします。
これは出力です:
の出力に困惑していますprint "$ARGV\n"
。しようとするprint "$ARGV[-1]\n"
と、空の行が STDOUT に出力されます。を直接参照する$ARG[2]
と、同様に空の行が表示されます。
を使用するとスクリプトが印刷されるのはなぜfile4
ですか$ARGV
?
反例として、print "$d\n"
の最後の行を取得することを期待して、 を試しましたfile4
。予想される出力の代わりに、空の行が表示されました。どのように機能し$ARGV
ますか?
java - Java-Diamond 型は、この言語レベルではサポートされていません
Java プロジェクトの作業を開始したばかりで、IntelliJ を使用して GitHub からソース コードをダウンロードしました。これまで IntelliJ を使用したことはありませんが、Eclipse よりもはるかに優れた IDE であると言われています (これは私が使用していたものです)。最後に Java 開発を行ったのは約 4 年前です)。
GitHub から最新の作業バージョンをプルして、自分のコンピューターでローカルにソースをビルドしようとすると、いくつかの異なるコード行でコンパイル エラーが発生します。エラーには次のように表示されます。
エラー:(27, 34) java: ダイヤモンド演算子は -source 1.5 ではサポートされていません (ダイヤモンド演算子を有効にするには -source 7 以上を使用してください)
これらのコンパイル エラーが表示される行は、次のような行です。
行を選択しAlt + Enter
てエラーを実行すると、できることを示すメッセージが表示されます
「言語レベルを 7 に設定します - Diamonds、ARM、Multi-cache など」
ただし、このオプションを選択しても何も起こりません...
pom.xml
ファイルには、次の xml があります。
しかし、このエラーを調べたところ、ダイヤモンド型はこの言語レベルではサポートされていませんでした。これは、maven1.7 以上を使用する必要があることを示しており、プロジェクトは既にバージョン 1.8 を使用しているようです。このコンパイルエラーが発生する理由がわかりません...
誰にも提案はありますか?
java - JDK 1.6 のダイヤモンド構文代替
JDK 1.6 で動作するように、以下のコードを書き直す方法を誰か提案できますか?