次世代言語21 Go Nim Rust Swift Kotlin TypeScriptat TECH次世代言語21 Go Nim Rust Swift Kotlin TypeScript - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト1023:デフォルトの名無しさん 21/08/22 03:20:54.62 0Cz6ueFz.net >>970 範囲 fn main() { let x = 1; match x { 1...5 => println!("1...5"), _ => println!("other"), }; } let x = 1 case x of 1..5: echo "1..5" else: echo "other" 1024:デフォルトの名無しさん 21/08/22 03:23:47.86 0Cz6ueFz.net >>970 case の返りを受け取る fn main() { let x = 1; let s = match x { 1 => "one", 2 => "two", _ => "other", }; println!("{}", s) } let x = 1 let s = case x of 1: "one" of 2: "two" else: "other" echo s 1025:デフォルトの名無しさん 21/08/22 03:25:32.61 0Cz6ueFz.net >>970 分配束縛 Nim は標準ではできませんが https://github.com/andreaferretti/patty を突っ込むことで可能です。 1026:デフォルトの名無しさん 21/08/22 03:27:54.79 0Cz6ueFz.net >>970 仕様バグがない Rust の以下の挙動は全く理解ができません。 fn main() { let x = 'x'; let c = 'c'; match c { // x: c c: c x => println!("x: {} c: {}", x, c), } // x: x println!("x: {}", x) } 普通 x にマッチすると思わないでしょこれ。 さらにその直後 x が 'c' に変わってるとか予想だにしませんよ。 まぁ普通はこんな書き方しないと思いますがこんな調子ではどこでどうハマるか予測不可能です恐ろしすぎます。 Nim はこんな書き方そもそも出来ません。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch