アカウント名:
パスワード:
> どうせなら文字列の中に変数を埋め込めるようにしてくれたほうが良かった。えっ、これまだ出来ないの?クソ言語なりに型安全やNull安全に着実に進化してきてPhpStormを使えばかなり安全快適に開発できるようになってきたPHPですらできるのに?
テンプレート言語とは第一に考える点が違うからな。
C#でもKotlinでもScalaでも出来ますけど…
"hoge${x}fuga" と "hoge"+x+"fuga" がそんなに違うとは感じ無いけどな…
みんなそう思ってるならクソ言語Java以外はだいたい使えるようにはなってないんですよ
全く違いますよ。
Javaでいえば "hoge"+x+"fuga" ではなく Strig.format("hoge{%s}fuga",x.toString()) を$"hoge{x}fuga" って書けるわけですよ。Javaで "hoge"+x+"fuga" なんてコード書いてるレベルの人だったら理解できないかもしれませんが、現実的なコード考えれば差があるのはわかるでしょう。
基本的にはMessageFormatを使うなあ。
toString()って暗黙的に呼び出されるんだからそれでも冗長なんじゃ…
…同等な結果の物をわざわざString.format を呼び出す方が妥当ってすごい思想だな。toString() 明示するだけの事はある。
まあこっちの方が一般に高速でしょうし。どうとうではない。
toStringを明示するかどうかは、書いても書かなくても同じなので、どうでもいいんですけど。String.formatと + での連結が同じだと思ってるのは、議論の参加できるレベルじゃないな。
あのな…+ は StringBuilder("hoge").append(x).append("fuga") になる事が決まってる。String.format はソース見てみりゃ判るがはるかに遅いぞ。
同等と言ってるのは結果。String.format に引数渡す方は NPE の可能性があるが + は "null" になるという違いくらいしかない。
nullを突っ込んでNPEにならないのって致命的なバグを生みますよ。ユーザー名:nullみたいな間抜けな表示を生む
string interpolation の話とはちょっとずれませんかね…
null変数埋め込みは他言語でも大体例外にならんでしょ。C# も空文字だったような。
それに関しちゃnullが"null"になるJavaがクソとしか言いようがない
そこは変な人がnull安全とかいうそれまで聞いたこともないような単語を生み出したKotlinとかいう言語があってだな
お手軽スクリプト向けの機能でJavaみたいなのには無いイメージだったが、そうか今はC#にもあるんだな。
Java単体でできなくてもJava用のテンプレートエンジンは大量にあります
お前ログ出力で内容とコードをちょろっと出しておきたいみたいなシンプルな要件のときにわざわざテンプレートエンジン使うの?
ぬるせーふなんて軟弱者はコトリンをあたりつかう私は軟弱者
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
えっ??? (スコア:0)
> どうせなら文字列の中に変数を埋め込めるようにしてくれたほうが良かった。
えっ、これまだ出来ないの?
クソ言語なりに型安全やNull安全に着実に進化してきてPhpStormを使えばかなり安全快適に開発できるようになってきたPHPですらできるのに?
Re: (スコア:0)
テンプレート言語とは第一に考える点が違うからな。
Re: (スコア:0)
C#でもKotlinでもScalaでも出来ますけど…
Re: (スコア:0)
"hoge${x}fuga" と "hoge"+x+"fuga" がそんなに違うとは感じ無いけどな…
Re: (スコア:0)
みんなそう思ってるならクソ言語Java以外はだいたい使えるようにはなってないんですよ
Re: (スコア:0)
全く違いますよ。
Javaでいえば "hoge"+x+"fuga" ではなく Strig.format("hoge{%s}fuga",x.toString()) を$"hoge{x}fuga" って書けるわけですよ。
Javaで "hoge"+x+"fuga" なんてコード書いてるレベルの人だったら理解できないかもしれませんが、現実的なコード考えれば差があるのはわかるでしょう。
Re:えっ??? (スコア:1)
基本的にはMessageFormatを使うなあ。
Re: (スコア:0)
toString()って暗黙的に呼び出されるんだからそれでも冗長なんじゃ…
Re: (スコア:0)
…同等な結果の物をわざわざString.format を呼び出す方が妥当ってすごい思想だな。
toString() 明示するだけの事はある。
Re: (スコア:0)
まあこっちの方が一般に高速でしょうし。
どうとうではない。
Re: (スコア:0)
toStringを明示するかどうかは、書いても書かなくても同じなので、どうでもいいんですけど。
String.formatと + での連結が同じだと思ってるのは、議論の参加できるレベルじゃないな。
Re: (スコア:0)
あのな…
+ は StringBuilder("hoge").append(x).append("fuga") になる事が決まってる。
String.format はソース見てみりゃ判るがはるかに遅いぞ。
同等と言ってるのは結果。String.format に引数渡す方は NPE の可能性がある
が + は "null" になるという違いくらいしかない。
Re: (スコア:0)
nullを突っ込んでNPEにならないのって致命的なバグを生みますよ。
ユーザー名:null
みたいな間抜けな表示を生む
Re: (スコア:0)
string interpolation の話とはちょっとずれませんかね…
null変数埋め込みは他言語でも大体例外にならんでしょ。C# も空文字だったような。
Re: (スコア:0)
それに関しちゃnullが"null"になるJavaがクソとしか言いようがない
Re: (スコア:0)
そこは変な人がnull安全とかいうそれまで聞いたこともないような単語を生み出したKotlinとかいう言語があってだな
Re: (スコア:0)
お手軽スクリプト向けの機能でJavaみたいなのには無いイメージだったが、そうか今はC#にもあるんだな。
Re: (スコア:0)
Java単体でできなくてもJava用のテンプレートエンジンは大量にあります
Re: (スコア:0)
お前ログ出力で内容とコードをちょろっと出しておきたいみたいなシンプルな要件のときにわざわざテンプレートエンジン使うの?
Re: (スコア:0)
ぬるせーふなんて軟弱者はコトリンをあたりつかう
私は軟弱者