å
æ¬çç¯å²ãšãã¿ãŒã³ã®æ§æã..=
ã«å€æŽããããšãèšç»ããŠããŸãã ãã¿ãŒã³ã®...
æ§æã¯å®å®ããŠãããåœé¢ã¯ïŒãµã€ã¬ã³ãã«ïŒéæšå¥šã®ãŸãŸã«ãªããŸãã rustfmtã¯...
ã..=
æžãæããããšãã§ããŸãã ããã¯å€ãã®è°è«ã®åŸã«æ¥ãŸãã æ£åœåã«ã€ããŠã¯ããã®ã³ã¡ã³ããåç
§ããŠãã ããã
ãã®ã¹ã¬ããã§ã¯ããã以äžæ§æã«ã€ããŠèª¬æããå¿ èŠã¯ãããŸããã ããã§æ¢åã®ã³ã¡ã³ããšãã®çè«çæ ¹æ ããã¹ãŠèªãã åŸãæä»çç¯å²æ§æã®ããŸããŸãªææ¡ããŠãŒã¶ãŒã®ãã©ãŒã©ã ãŸãã¯å éšãã©ãŒã©ã ã§è¡ãå¿ èŠããããŸãã ç¹ã«ãäžäœäºææ§ãç Žãããšã¯åå¿è ã§ã¯ãããŸããã
..=
ã®å矩èªãšããŠ...
ãã¿ãŒã³ããã³åãå
¥ãã..=
åŒã§ïŒ44709RangeInclusive
埮調æŽãææ¡ããŸããRangeInclusive
ã®ãã£ãŒã«ãã¯ããã®ã©ãŠã³ãã®å®å®åããé€å€ãããŠããŸãã ãã®æ©èœã«ã€ããŠã¯ïŒ49022ã远跡ããŠãã ããããã¶ãa..b|
ãŸãã¯a..b]
ããã¯ãåçŽãªã¿ã€ããã¹ïŒ.. vs ...ïŒã®ããã«ãå°æ¥ãæ°ããçš®é¡ã®äºæž¬ã§ããªããšã©ãŒãžã®éãéããšæããŸãã ããã....ïŒ4æéïŒã ã£ãå Žåã¯ããè¯ãã§ãã ãã®ããã«ããŠã人çèŠå ã§ããimoã®ãšã©ãŒãçºçãã«ãããªããŸãã
https://github.com/rust-lang/rfcs/pull/1592ãšhttps://github.com/rust-lang/rfcs/pull/1582ãçµã¿åãããããšã§ã ..=
ã䜿çšããããšãã§ãããšæããŸãã代ããã«æ§æã 誰ãããã倧ããªã¿ãã«ã®åã«ã¿ãã«ãæ¡åŒµããããã®(head..., tail)
ãããåªããæ§æãèããããªãéãã
ç§ã¯æä»çãªç¯å²ã䜿çšããããšãæå³ããŠãããšããç§ã¯ç§ã®ã³ãŒãã§_offã»ãã€ã»ã¯ã³ããã_誀ãããã£ãã®ã§ãç§ã¯ãã®åé¡ãçºèŠããŸããã
ð ...
æ§æã®å Žåã ãã¹ã¿ã€ãããããæ§æã§1ã€ãã€ãšã©ãŒãçºçããã®ã¯ã足ãããã«ãªããšæããŸãã
ãã ãããã®æ©èœã¯äŸ¿å©ãªã®ã§ã ..=
å¥ã®æ§æã§äœ¿çšã§ããã°å¹žãã§ãã
ããã®æ§æã¯æªè§£æ±ºã®è³ªåã§ããïŒ ...
ã¯ãã§ã«ãããã¹ããŒãã¡ã³ãã«å«ãŸããŠããã®ã§ãè¹ã¯åºèªãããšæããŸããã
å人çã«ã¯...
ç¯å²ã奜ã¿ãŸããããã§ã«..
å°çšããŒãžã§ã³ããããããåé¡ãçºçããå¯èœæ§ããããŸãã ïŒ23635ãèŠãåŸã ..
ãå»æ¢ãã ...
ã®ã¿ãèš±å¯ããããšæããŸãã
ç§ã¯Cã®ãããªforã«ãŒãfor i in 0..foo.len()
ã«çžåœããå
æ¬çç¯å²ããã䜿çšããŠããã®ã§ãããããã®ãŸãŸã«ããŠããããšããå§ãããŸãïŒRustã®ã€ãã¬ãŒã¿ãŒã¯ã1次å
ãã§ãããå€ãã®å Žåããããå¿
èŠã§ãã 2Dé
åãéç·åœ¢å埩ã§äœ¿çšããã«ã¯æ±ãã«ããïŒã
å
æ¬çç¯å²ã®ãªãŒããŒãããŒã®åé¡ã¯ã°ãããŠããããã«èŠããŸãããRustãusize
以å€ã®ã¿ã€ãã§äœ¿çšããã®ã¯é¢åãªã®ã§ãå®éã«ã¯ãã®åé¡ã«ééããããšã¯ãããŸããã ç¯å²for i in 0..(len as usize)
äœæãããšãã«ãã£ã¹ãããªãã£ãå Žåã¯ããšã«ããã«ãŒãå
ã§i as usize
åããŒã¹å䜿çšããå¿
èŠããããŸãã
ãã®æ§æã¯ãŸã æ©èœã²ãŒããããŠããã®ã§ãè¹ãåºèªããŠããªãããšãé¡ã£ãŠããŸãã
swiftãå
æ¬çç¯å²ã«...
ã䜿çšããæä»çç¯å²ã«..<
ã䜿çšããããšãèãããšãå
æ¬çã«..=
ã䜿çšããããšã¯ããªãåççãšæãããŸãã
æçšãªæŽå¯ã¯ãããŸããããå æ¬çç¯å²ã§ãå®éšçãã¹ããŒã¿ã¹ãçµäºããããšæããŸãã Rust By Exampleã調ã¹ãŠãããšãã«ãããããæ©æµãåããããšãã§ãã1ã€ã®ã¹ãããããèŠã€ããŸããã
fn fizzbuzz_to(n: u32) {
for n in 1..n + 1 {
fizzbuzz(n);
}
}
äž ïŒ ð
a ..= b
æ§æãšäžè¬åãããç¯å²ã®RFCãæžãããã ãã®ãããªç¯å²ãæšæºã©ã€ãã©ãªã§ã©ã®ããã«è¡šããããã«ã€ããŠè©±ãããã«ããã£ã¹ã«ãã·ã§ã³ã¹ã¬ãããéå§ããŸããã
IMHO .. =å€ã«èŠããŸãã Swiftã®...ãš.. <ã®ã¢ãããŒãã¯ã2ã€ã®ããããããçç¥èšå·ã奜ããããç§ã«ã¯ããèŠããŸããçç¥èšå·ã¯çç¥ãè¡šããç¯å²ã®éå§ãšçµäºã®éã®æ°åãçç¥ããŠããŸãã
ç§ã¯ãŸã ...ãããŠ..ååã«è¯ãã£ããšæããŸãã 1æåã®éããããã®ã§ãééãã¯+/-ãx / yãªã©ãããé£ããã§ãã
ç§ã¯ä»¥åã«ãããèªåã§èª€è§£ããã®ã§ïŒãããŠç§ã®ã³ã¡ã³ããåé€ããŸããïŒïŒ
Rustã®RFCããã»ã¹ã«ãããšããã®ææ¡ã¯RFCãã«ãªã¯ãšã¹ã1192ã§ãã§ã«ã¬ãã¥ãŒãè°è«ãæ¿èªãããŠã
æ©èœãç°ãªãã¯ãã ãšåŒ·ãæããŠããå Žåã¯ãåãRFCããã»ã¹ãå®è¡ããå¿ èŠããããšæããŸããããã¯ãèšèªã«å€æŽãå ããããæ¹æ³ã ããã§ãã ãããããã®åé¡ã¯ãã®ããã®å Žæã§ã¯ãããŸããã
@jimblandyããããã @ nikomatsakisã«ãã®äžå¯§ãªãªãã€ã³ããŒãšã¬ã€ãã³ã¹ããããŸãã ð
@shepmasterããã¯ã
è°è«/å¯èœæ§ã®ããFCPãžã®æå
ããã«ã€ããŠã¯ã@ rust-lang / langããŒãã£ã³ã°ã§è©±ãåããŸããã ãã®æ©èœã«ã¯äžè¬çãªäžå¹žæããããŸãããéæšå¥šã«ããããšãæ€èšããŸããããåœé¢ã¯ãããä¿çããããšã«ããŸããã çŸç¶ã§ã¯ã ...
ã¯2ã€ã®å€§ããªå察æèŠããããŸãã
..
ãš...
éã®æ··ä¹±ã®ãããã;ãã®ããã«ãäžéãšäžéã®ã©ã¡ããå æ¬çãæä»çããæ£ç¢ºã«æå®ã§ãããããªãããäžè¬çãªæ§æãå¯èœã«ããRFCã誰ããé²ãã§é²ããŠãããã®ã§ã¯ãªãããšèããŠããŸããã @aturonã¯ããã®ãããªRFCã§èª°ããšååããŠåãã§ãããšæããŸãã
ãã°ããã¹ããŒã«ããããšã¯ç¥ã£ãŠããŸãããæè¿ãlibstdïŒäžèšã®ãªã³ã¯ïŒã§ãããã®å®å šã«æ©èœããç¯å²ãè¡šãæ¹æ³ã«ã€ããŠã®ãã£ã¹ã«ãã·ã§ã³ã¹ã¬ãããéããŸãããã誰ãã³ã¡ã³ãããŠããŸãã:(
äžèšã«é¢ããããã€ãã®å ¥åãããã°ãæ°ããRFCãåãã§ãæäŒãããŸãã
ç§ã¯æè¿ãlibstdïŒäžèšã®ãªã³ã¯ïŒã§ãããã®å®å šã«æ©èœããç¯å²ãè¡šãæ¹æ³ã«ã€ããŠã®ãã£ã¹ã«ãã·ã§ã³ã¹ã¬ãããéããŸãããã誰ãã³ã¡ã³ãããŠããŸãã:(
ããã¯åœŒãã®æçšæ§ã幟ååæ ããŠããŸãã
ä»»æã®å
æ¬çæä»çç¯å²ãæã€ããšã¯è¯ãèãã®ããã«èãããŸããã ..
ãšããããããã¯ããã«å°ãªãçšåºŠã§...
ãé€ããã¹ãŠã䜿çšãããããšã¯ãªããšç¢ºä¿¡ããŠããŸãã
@durka
ãã°ããã¹ããŒã«ããããšã¯ç¥ã£ãŠããŸãããlibstdïŒäžèšã®ãªã³ã¯ïŒã§ãããã®å®å šã«æ©èœããç¯å²ãè¡šãæ¹æ³ã«ã€ããŠãã£ã¹ã«ãã·ã§ã³ã¹ã¬ãããéããŸãããã誰ãã³ã¡ã³ãããŠããŸãã:(
ããã¯ã倧ãŸãã«ç§ãã¡ãèããŠããã¢ãããŒãã®ããã«èŠããŸãã
@petrochenkov
ä»»æã®å æ¬ç-æä»çç¯å²ãæã€ããšã¯è¯ãèãã®ããã«èãããŸããã..ãé€ããŠãã¹ãŠã䜿çšãããããšã¯ãªããšç¢ºä¿¡ããŠããŸãã
æ£çŽãªãšãããç§ã¯åæããŸãããããã§ããããäžè¬çãªæ§æãè¿œæ±ãã䟡å€ããããšæããŸãã ç¹ã«ã ...
ã¯æé©ã§ã¯ãªããšæããŸããã ..=
ãªã©ã®ããæ瀺çãªãã®ã«ç§»è¡ããå ŽåããŸãã«ã§ããããå°ãäžè¬çãªããšãããŠãåé¡ã¯ãªãã§ãããã䜿çšæžã¿ã ã€ãŸããäœç³»çã«ããã°ãç¿åŸããã®ã¯ããã»ã©é£ããã¯ãªãããã«æããã ..
ãš...
ã©ã¡ãããããå€ãã®æ°ããæå³ãããã«ã€ããŠæ··ä¹±ãçããããšã¯ãªãã§ãããã "ã
ããã¯ã倧ãŸãã«ç§ãã¡ãèããŠããã¢ãããŒãã®ããã«èŠããŸãã
ã©ãïŒ ç§ã¯èªåã®æçš¿ã§ããã€ãã®ä»£æ¿æ¡ãææ¡ããŸããã
ç§ã¯ãã°ãã°å
æ¬çç¯å²ãç¹°ãè¿ãããã®ã§ã 0...x
代ããã«0..(x + 1)
0...x
å
¥åããã®ãæ¬åœã«å¥œã0..(x + 1)
ã ããã«ãã1ã€ãã€ãšã©ãŒãçºçããå¯èœæ§ãããããšã¯ç解ããŠããŸãããã©ã®ãããªä»£æ¿æ段ããããŸããïŒ
Rustã®æ§æãå¯äœçšãªãã«èªç±ã«å€æŽã§ãããšä»®å®ãããšãæãããªãã¿ãŒã³ã¯ãããããã§ãã
ãã®ãŸãŸã§
1..4 // 1, 2, 3
1...4 // 1, 2, 3, 4
ããã¯å€§äžå€«ãªãœãªã¥ãŒã·ã§ã³IMHOã§ããããã¿ãŒã³ãããã³ã°ã§ã䜿çšãããŸãã
æ°åŠããåãã
[1, 4] // 1, 2, 3, 4
[1, 4[ // 1, 2, 3
]1, 4] // 2, 3, 4
]1, 4[ // 2, 3
ããã¯æãå®å šãªæ§æã§ãããåãéã®ééäžæ¬åŒ§ã®èŠåã«éåããèŠèŠçã«è§£æãå°é£ã§ãã
Pythonããåãã
1:1:=5 // 1, 2, 3, 4, 5
1:1:<5 // 1, 2, 3, 4
ããã¯æ¢ç¥ã®ãã¿ãŒã³ã§ãããã¹ããããµã€ãºãçµã¿èŸŒãããšãã§ããŸãã RFCããã»ã¹ãã©ã®ããã«æ©èœãããã¯ããããŸããããç¯å²ã«ã€ããŠè©±ããšãã¯ã¹ããããµã€ãºãèæ
®ããå¿
èŠããããšæããŸãã
ã¹ããããµã€ãºããã®ãã£ã¹ã«ãã·ã§ã³ïŒãŸãã¯å°æ¥ã®ãã£ã¹ã«ãã·ã§ã³ïŒã®äžéšã§ã¯ãªãå Žåã ..=
ãš..<
ã¯éåžžã«åççãšæãããŸãã
æŽæ°ïŒ ..=
ãš..<
ã¯æ¬åœã«è¯ã解決çã«ãªããšæããŸãã ã¹ããããµã€ãºãã¢ããã¿ãŒãšããŠç¶æããããšã¯ãã¯ããã«çã«ããªã£ãŠããŸãã
ãã®è°è«ã«ã¯éé ã®ç¯å²ãçµã¿èŸŒãå¿ èŠããããŸããïŒ ç¯å²ãå転ããçŸåšã®è§£æ±ºçã¯éåžžã«æ··ä¹±ããŠããŸãïŒãã ããå æ¬çç¯å²ãããå Žåã¯ããããããã§ã¯ãããŸããïŒã
ããšãã°ãç®ã现ããããšãªããããèªãã§ç解ã§ããŸããïŒ
for i in (1..l.len()).rev() { ... }
ç·šéïŒãããŠGitHubã®ãã©ã³ãã§ã¯ã l
ã1
ããã«èŠãããããããã«æ··ä¹±ããŸãã
è² ã®ã¹ããããµã€ãºã§ååã ãšæããŸãã
Matlabæ§æa:b
ãša:step:b
ãŸãã
2016幎11æ4æ¥00:50ããOttã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
è² ã®ã¹ããããµã€ãºã§ååã ãšæããŸãã
â
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment -258344460ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3n3kwnGH6POQb4dGwCwJ8yOGqPSBQks5q6rmDgaJpZM4F4LbW
ã
@durkaã§ã¯ãçŸåšã®..
ã«çžåœãããã®ã¯äœã§ãããããããã§ã a
ãŸãã¯b
ãŸããã ãã£ã:
ïŒ
RFCã«èšèŒãããŠããªããã®ïŒãã£ãŒã«ãã«ç°ãªãååãèæ ®ãããŸãããïŒ
ã¿ã€ããç°ãªãå Žåãæå³ãç°ãªããšãã«ãã£ãŒã«ãåãå€ãããšäŸ¿å©ãªå ŽåããããŸãã ããšãã°ããrange.startãã¯ãã¹ãŠã®ã¿ã€ãã®ãäžéãå«ããã§ãã ãã ãããrange.endãã¯å æ¬çã§ããå Žåãšæä»çã§ããå ŽåããããŸãã ãçµããããšïŒã¹ãããŒãã³ïŒãæåŸãã®åºå¥ã¯ãããããæ確ã«ããŸãã
ïŒãã¡ãããããã¯ãç¯å²ãåªå
ããŠç°ãªãã¿ã€ããæŸæ£ãããå Žåã¯é¢ä¿ãããŸããã
å æ¬çç¯å²ã¯ãŸã std :: collections :: range :: RangeArgumentãå®è£ ããå¿ èŠããããšæããŸãã
pub trait RangeArgument<T> {
fn start(&self) -> Option<&T> { ... }
fn end(&self) -> Option<&T> { ... }
}
ããã§
impl RangeArgument<T> for RangeToInclusive<T> {
fn end(&self) {
Some(self.end+1)
}
}
fn foo<T, R: RangeArgument<T>>(arg: R)
ãå
æ¬çãŸãã¯ããŒããªãŒãã³ã®ç¯å²ãåãããšãã§ããããã«ã
@durka aïŒbæ§æã®åé¡ã¯ãåã®åž°å±ããããŸããªããšã§ãã å€æ°b
ããŸãã¯ã¿ã€ãb
ãæ±ããŠããŸããïŒ æããã«ãåªããRustããã°ã©ããŒãšããŠãåã掻çšããŠããŸãããã³ã³ãã€ã©ãŒã¯ãããæšæž¬ã§ããŸããã
..æ°åŠå®çŸ©ãæã€æŒç®åïŒ @dueseeã³ã¡ã³ãã«åºã¥ãïŒïŒ
[1..4] // 1, 2, 3, 4
[1..4[ // 1, 2, 3
]1..4] // 2, 3, 4
]1..4[ // 2, 3
䜿çšïŒ @ 0ttã®äŸã«åºã¥ãïŒïŒ
fn fizzbuzz_to(n: u32) {
for n in [1..n + 1] {
fizzbuzz(n);
}
}
ãã®å Žåããã³ããšããŠ..
ã䜿çšããŸãããå¢çã¯[
ãš]
äžããããŸãã
@adelarsq ïŒRustã§ã¯ãéå§ãå«ãŸãªãç¯å²ã¯å¿ èŠãããŸããã ãã ããè§ãã£ãæ§æã¯ãããããèš±å¯ãããŠããå Žåã«ã®ã¿æå³ããããŸãã ããã«ããã©ã±ããæ§æã¯ãã§ã«äœ¿çšãããŠããŸãã
..=
ãå
æ¬çç¯å²ã®æãåççãªéžæã ãšæããŸãã
...
ã¯ãªã..
ãšèŠèŠçã«ç°¡åã«åºå¥ã§ããŸãã ã¿ã€ãã³ã°ã®ãã£ã³ã¹...
æå³ããå Žå..
ããŸãã¯ãã®éãšæ°ä»ããŠããªãã®ãšããé«ã..=
ã
ïŒããã¯ãèŠèŠçãªç®ç«ã¡ããããšãã°ã®å¯èœæ§ã®äž¡æ¹ã§ãCã§if(a == b)
代ããã«èª€ã£ãŠif(a = b)
å
¥åããããšã«çžåœããŸãïŒã
ãŸãã ..=
ã¯ããã®æå³ã象城ããŠãããããèŠããããã§ãïŒ i ..= j
ã¯ãç¯å²i .. j
ãæå³ãã i = j
æå³ããŸãïŒã
äž»ãªäžæºã¯ã ...
ã..
ãšããŸãã«ã䌌ãŠããããšã ãšæãããŸãã ããå€ãã®æåãå«ãä»ã®ææ¡ããªãããå Žåãæåã®æ°ã«ã€ããŠèª°ãæå¥ãèšãããæ¬åŒ§ã®äžèŽãç¹å®ã®å Žæã§ã®äœ¿çšãªã©ã ãã§ããããšã«æ°ã¥ããŸããã
ã§ã¯ãå
æ¬çç¯å²ã®....
ã¯ã©ãã§ããããïŒ ããã¯ãŸã ç¯å²ã®ããã«èŠããã¯ãã§ãããããŠç§ãèšã£ãããã«ã誰ãäœåãªæ§æ Œããšã解決çãæ°ã«ããªãããã§ãã ããã..=
ãããå€ããå°ãªããäžå®å®ã§ãããã©ããã¯è°è«ã®äœå°ããããŸãã
for i in 0....10 { println!("just a thought"); }
ããã©ã«ãã®åäœãå æ¬çã§ããå Žå..ïŒ æŒç®åã䜿çšãããŸãïŒã»ãšãã©åŠå®ãšããŠïŒã
....
ã®åé¡ã¯ã ...
å®éã«ååšããå Žåãæ··ä¹±ãçããããšã§ãã
Rubyãšã¯æ£å察ãªã®ã§ã ...
ã奜ãã§ã¯ãããŸããã
ãããŸã§ã®ãšããæè¯ã®éžæè¢ã¯..=
ã ãšæããŸãã
@adelarsq ã ....
æŒç®åã¯...
....
æŒç®åã眮ãæããã®ã§ã ..
ãå®è¡ããããšããŠãè¿œå ã®.
ãè¿œå ãããšãã³ã³ãã€ã«ã«ãªããŸããã¿ã€ã ãšã©ãŒã ....
ãå®è¡ããããšããŠããããå¿ããå Žåãããšã©ãŒã«ãªããŸãã
ãã¿ãŒã³ãããã³ã°ã§ã¯ã ...
ã䜿çšããŠå
æ¬çç¯å²ãç
§åãããããå
æ¬çç¯å²ã®åŒã«ã...
ã䜿çšããã®ãçã«ããªã£ãŠããŸãã
ã¹ãããä»ãã®ç¯å²ã«ã€ããŠã¯ãHaskellæ§æã䜿çšããŸããäŸïŒ 1,3..9
=> [1,3,5,7]
ã¹ããã/ãªããŒã¹ãªã©ã®ç¯å²ã®å Žåãè€éãªãªãã©ã«ã§ã¯ãªããå€ãè¯ãé¢æ°ïŒããçš®ã®Range
ã³ã³ã¹ãã©ã¯ã¿ãŒïŒã䜿çšããããšæããŸãã
ã¯ã¯ããããã....
ã§å€§äžå€«ã§ãïŒãã ãã ..=
ã¯ç§èŠã§ãåé¡ãããŸããïŒã äžè²«æ§ãä¿ã€ããã«ããã¿ãŒã³ãããã³ã°ã§ãèš±å¯ãããå¯èœæ§ããããŸãïŒæçµçã«...
ããã¿ãŒã³ã®
ç§ã«ãšã£ãŠ..=
ã¯ã ....
ã¯ãªãèŠèŠçãªæå³ã§ãã
ç§ã¯ã¡ããã©äœãã«æ°ã¥ããŸããïŒ
æ°åŠã§ã¯ã â i: 0 †i < 10
ãšæžãããšãã§ããŸãã
for i in 0 ..< 10 { }
ããã¯äžè²«ããŠããŸãã
ãã ããã¹ããŒãã¡ã³ãâ i: 0 †i †10
ã¯æ¬¡ã®ããã«å€æãããŸã
for i in 0 ..= 10 { }
ããã§ãâ€ã¯=ã«å€æãããäžè²«æ§ããªããšæããŸãã
ããã¯ãã€ã¯ã·ã§ãã£ã³ã°ãããããŸãããã
for x in 0 ..<= 10 { }
ããæ£ãããšæããŸãã ããã¯ç§ã®Cã®ããã¯ã°ã©ãŠã³ããåå ã§ããå¯èœæ§ããããŸã
for (unsigned int i = 0; i <= 10; ++i) { }
ã i
ã10
éããäœããããããšããæå³ã«ãªããŸãã CIã§ã¯ãå€ãé£ã³è¶ããŠç¡éã«ãŒãã«ãªãå¯èœæ§ããããããã«ãŒãæ¡ä»¶ã§==
ã䜿çšããªãããšããå§ãããŸãã ããã¯Rustã§ã¯çºçããŸãããã for i in 1 ..= 10
ãCã«å€æãããšããŸãã«ããã瀺åãããå¯èœæ§ããããŸãã
ããã«é²ãã§ã
for i in 0 <..<= 10 { }
èªæã§ãããã
ç·šéïŒããã¯ã =
ã ãã䜿çšãããšæ··ä¹±ããå¯èœæ§ãããããšã瀺ãããã®æªãéã®äŸã§ãã 建èšçãšãããããæ··ä¹±ãæãããããåé€ããŸããã
@duesee >=..>
ã¯ã©ã®ããã«èªæã§ããïŒ <=..>
ïŒ<= 10ãã€> 0ïŒã§ããã¹ãã§ã¯ãããŸãããïŒ
IMOããã¯èªæã§ã¯ãªããäžå¯è§£ã§ããããªãã¬ãŒã¿ãŒãšããŠã¯é·ãããŸãã
ïŒæŒç®åã¯3æåã®IMOããé·ãããããšã¯ã§ããŸããïŒã
ãšããã§ãç§ãã¡ã¯ãã§ã«éå埩æ¹åãè¡šçŸããæ¹æ³ãæã£ãŠããŸãïŒ .rev()
å
æ¬çç¯å²ãšãããã.step_by()
æŒç®åã®ã¿ãå¿
èŠã§ãã
ãã®ã¹ãããã®æ§æã¯a .. b | s
ïŒããã³å
æ¬çç¯å²ã®å ŽåïŒ a ..= b | s
ïŒã«ãªããŸãã
@norru ïŒããªãã®äŸfor i in (1..l.len()).rev() { ... }
ã¯éåžžã«éçŸå®çã§ããã»ãšãã©ã®å Žåãã¹ã©ã€ã¹ïŒ for x in arr[1..].rev() { ... }
ïŒã䜿çšããŸãããã€ã³ããã¯ã¹ã¹ã¿ã€ã«ã®å埩ã䜿çšããå¿
èŠãããå Žåã§ãïŒåºæ¬çã«ã®ã¿ïŒ i
ïŒã«ãªãé
åèŠçŽ ãå€æŽãããšããç§ã¯ãŸã£ããèªã¿ã«ãããšã¯æããŸããã ïŒãã ããåŒæ°ããªãã©ã«ã®æ°å€ã§ãªãå Žåã¯ãéåžžã ..
ååŸã«ã¹ããŒã¹ãæ®ããŸãïŒ (1 .. arr.len()).rev()
ïŒ
>=..>
Rustãªãã¬ãŒã¿ãŒã®éã®çš®é¡ãå¢ããŸããïŒ
ããããç§ã¯..<=
倧奜ãã§ãïŒç·šéïŒãããšã <= 0 =>
ããã«èŠããmatch
ãé€ããŠ:(ïŒ
..
ãšã¯éåžžã«ç°ãªããŸãã..=
ã®+=
æå³ã¯ãããŸããã..<
ã§ãè«ççã«äžè²«ããŠããŸãã äž¡æ¹ã®èšèªãåæããå¯èœæ§ããããŸãïŒ@pornel ïŒ >=..> more species of fish in Rust operators!
Hehe :-)
@Boscop ïŒæ°åŠã®å®çŸ©ã®ããã«èªãã ãèªæã§ãïŒ 10 >= i > 2
ã ããªãã®çãã®æ®ãã®ããã«ïŒç§ã¯çµ¶å¯Ÿã«åæããŸãã 2çªç®ã®éšåã¯ãå°æ¥ã®æ¡åŒµã®ããã«ãããã«ãŒãå°å
¥ããªãããã«ã ..=
ãš..<=
ãåèããåæ©ãšããŠæå³ãããŠããŸããã ããã«å¿ããŠåçãç·šéããŸãã
..
è¡šèšã§èŠåãŸãã¯ãšã©ãŒãçºçããããã©ã°ãååŸããããšãã§ããŸã
..
ãã³ãŒãããŒã¹ã®ã©ãã«ã衚瀺ããããªã
..=
ã«ããäžåºŠæ祚ãããã®ã§ãã
..<
ãš..<=
ã®æ¬ ç¹ã¯ããããããã§ã«æå¹ãªã³ãŒãã§ãããšããããšã§ãïŒå¥ã®å€ãšæ¯èŒãããŠããå³ãªãŒãã³ã®æä»çç¯å²ïŒã
@thepowersgang
.. <ããã³.. <=ã®æ¬ ç¹ã¯ããããããã§ã«æå¹ãªã³ãŒãã§ãããšããããšã§ãïŒå¥ã®å€ãšæ¯èŒãããŠããå³ãªãŒãã³ã®æä»çç¯å²ïŒã
æ¬åœã§ããããããå®éã«åé¡ã«ãªãå¯èœæ§ã¯ããªãäœãããã§ãããïŒ
ç§ã¯ããã«ããä»ã®ææ¡ããã...
ãéåžžã«å¥œã¿ãŸããããããå¥ã®æ§æãéžæããå¿
èŠãããå Žåã¯ã ..=
@nikomatsakis
..<
ãš..<=
ãªãã·ã§ã³ã¯ãèšèªã®ææ³ã®çŽæçãªã¢ãã«ãååŸããããã»ã¹ãäžé£ãåãã«è€éã«ããŠãããšããçç±ã ãã§å察ããŠããŸãã
ãã£ãšå人çãªè©±ã§ãããç§ã¯ããããå°ãªããšãã¿ãŒããã£ãã·ã¥ãšåããããéããŠãšã¬ã¬ã³ãã§ã¯ãªããšæããŸãã
ç§ã¯äžç·ã«è¡ããšæããŸã..
å³æä»çšããã³..=
蟌ã¿çšãšããŠèŠèŠçãªåªé
ãã®æé©ãªãã©ã³ã¹ãçŽæçã«ææ¡ããããšã容æã§ãããæ··ä¹±ãžã®2ã€ã®å°é£ãäœãææ³èŠåã
...
æ¬åœã«..
ãšåºå¥ãã€ããªãã®ã§ããïŒ ãªãç§ã¯ããããšãŠã奜ããªã®ã§ããïŒ
@tshepang
ç§ã¯...
ãçŸçã«é
åçã§ãããã奜ãã§ã...ãããã if (x == 2) {
ã§ã¯ãªãif (x = 2) {
ãæžãã®ãšåãããã«ãæ°ã¥ãã«ãããã°ãåŒãèµ·ããå¯èœæ§ãããã®ã§ã¯ãªãããšå¿é
ããŠããã®ã§ãå察ããŸãã C / C ++ã§ã¯if (x == 2) {
ã ïŒãããŠããããã©ã®ãããªå±éºã§ããããšãå€æãããã¯ååã«ç¢ºç«ãããŠããŸããïŒ
@ssokolow
ãªã³ãã£ã³ã°ãŸãã¯ãªãã·ã§ã³ãã©ã°ã«ãã£ãŠããé©åã«è§£æ±ºãããIMOã åäžã®ãã¡ã€ã«/ãããžã§ã¯ãã§è¡šèšãæ··åããããšã¯ããŸã䜿çšãããŠããŸããã
ãŸããä»ã®ãªãã·ã§ã³ããã....
ãåªå
ããŸããå¹
/ééã2åã«ãããšãç¹ã«ãäž¡åŽã«èšå·ãé£æ¥ããŠããããšãèãããšããã®è² ã®ã¹ããŒã¹ãå€ç«ããŠããå Žåãããç®ç«ã€ããã«ãªããŸãã
@ssokolow
èŠèŠçãªãšã¬ã¬ã³ã¹ãçŽæçã«ç解ããããææ³èŠåãããã³2ã€ãæ··åãã«ãããã®ã®éã®æè¯ã®ãã©ã³ã¹ãšããŠã..ãå³æä»çã«ã.. =ãå æ¬çã«äœ¿çšããŸãã
ãããã«ã¯ã§ããã äž»ãªåé¡ã¯ãä»ã®å Žåã®æ§æãå¿
èŠãã©ããã§ãïŒããšãã°ã <..<=
ïŒã å人çã«ã¯ã ..
ãš..=
ã99.5ïŒ
ã®ã±ãŒã¹ãã«ããŒããŠãããšæããŠããŸãã äž»ãªãŠãŒã¹ã±ãŒã¹ã¯drain
ãããªAPIã ãšæããŸãããçŸåšãããã§ã¯ããŸãã
cc @ rust-lang / libs
ãŸããªã±ãŒã¹ã¯ãã䜿çšããŠç¯å²ãçŽæ¥æ§ç¯ããããšã«ä»»ããããšãã§ããŸã
æ§é äœãªãã©ã«ã
2017幎2æ22æ¥æ°Žææ¥ååŸ4æ50åããã³ã»ããµãã¹[email protected]
æžããŸããïŒ
@ssokolow https://github.com/ssokolow
ç§ã¯..ãå³æä»çã«ã.. =ãå æ¬çã«æé©ãªãã®ãšããŠäœ¿çšããŸã
èŠèŠçãªãšã¬ã¬ã³ã¹ãšçŽæçã«ç解ããããææ³èŠåã®ãã©ã³ã¹
ææ¡ãã2ã€ãæ··åãã«ããããŸãããããã«ã¯ã§ããã äž»ãªãã ããã¯ãç§ãã¡ã欲ãããã©ããã§ã
ä»ã®å Žåã®æ§æïŒäŸïŒ<.. <=ïŒã ç§ã¯å人çã«ãããæããŸã..ãããŠ.. =
ã±ãŒã¹ã®99.5ïŒ ã®ããã«ã«ããŒããŸãã äž»ãªãŠãŒã¹ã±ãŒã¹ã¯ããã¬ã€ã³ãªã©ã®APIã ãšæããŸãã
çŸåšãããã§ã¯æ確ãªã¢ãããŒããæ¡çšããŠããŸã
https://doc.rust-lang.org/std/collections/struct.BTreeMap.html#method.range
ãcc @ rust-lang / libs https://github.com/orgs/rust-lang/teams/libs
â
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-281815665 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3n-aKwYKFq4VI9RizL0GkzXXSjTPwks5rfK2ngaJpZM4F4LbW
ã
..=
ããã¿ãŒã³ã§å©çšã§ããããã«ãªããŸããïŒ ããã§ã®æ¢åã®...
æ§æã¯ã©ããªãã®ã§ããããã
éæšå¥šã«ãªãå¯èœæ§ããããŸãã ãããããã®ååšã¯ããªã匷åãªåäŸã§ã
å°ãªããšãéèšãšããŠããã䜿çšããŸãã
18:02ã®æ°Žææ¥ã2017幎2æ22æ¥ã«ã¯ãandrewtj [email protected]ã¯æžããŸããïŒ
ç§ã¯ãããåããŸã.. =ãã¿ãŒã³ã§ãå©çšã§ããããã«ãªããŸããïŒ ã©ããªãã
ããã«æ¢åã®...æ§æïŒâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-281834007 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3nw_DaOMNxuIKw6ZFfXJW95QyijY4ks5rfL6DgaJpZM4F4LbW
ã
@ durka @ andrewtjç§ãã¡ã¯ãããéæšå¥šã«ããã ãããšæããŸãã
..=
ã¯ã +=
ãšåãæå³ã§æŒç®åãšããŠäœ¿çšã§ããŸãã
tide ~
䜿çšããããšããå§ãããŸããããšãã°ã 0~9
ã 'A'~'Z'
ã§ãã
..=
ã¯ã©ã®æäœã«å¯Ÿå¿ããŸããïŒ -
ã¯æããã«å®è¡äžå¯èœã§ãã
1-9 == -8
ã
20:04ã®æ°Žææ¥ã2017幎2æ22æ¥ã«ã¯ãJunfengå[email protected]
æžããŸããïŒ
.. =ã¯ã+ =ãšåãæå³ã§æŒç®åãšããŠäœ¿çšã§ããŸãã
ãã䜿çšããããšããå§ãããŸããããšãã°ã0ã9ã 'A'ã'Z'ã§ããâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-281856846 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3n7N2dM4DAzc_uc5JdHit4IJgyvYGks5rfNsPgaJpZM4F4LbW
ã
@durka ..=
代å
¥æŒç®åã®ããã«èŠããŸããããŠãŒã¹ã±ãŒã¹ã¯ãŸãã§ããå¿
èŠããããŸãã ~
ã¯ãµãã§ã¯ãªã朮ã§ãã ...
ã䜿çšããŠãåé¡ãããŸããã
impl Fill for Range<String> {
fn fill() -> String { ... }
}
impl FillAsign for RangeAssign<String> {
fn fill(&mut self) { ... }
}
(String::new("abc") .. String::new("f")).fill() // "abcdef"
(String::new("abc") ..= String::new("f")).fill() // ()
ç³ãèš³ãããŸããããç§ã®ãã©ã³ãã§ãåãããã«èŠããŸãã .. =ãè€åã§ãããã©ãããç§ã¯å°ããŠããŸãã
+ =ã®ãããªä»£å
¥æŒç®åããããå®è¡ããæäœïŒå¯Ÿå¿ãã
+ïŒïŒ
20:29ã®æ°Žææ¥ã2017幎2æ22æ¥ã«ã¯ãJunfengå[email protected]
æžããŸããïŒ
@durka https://github.com/durka .. =å²ãåœãŠã®ããã«èŠããŸã
æŒç®åããŠãŒã¹ã±ãŒã¹ã¯ãŸãã§ãªããã°ãªããŸããã ãã¯ãµãã§ã¯ãªã朮ã§ããç¯å²ã®implFill
{{
fn fillïŒïŒ->æåå{...}
}
RangeAssignã®implFillAsign{{
fn fillïŒïŒmut selfïŒ{...}
}
ïŒString :: newïŒ "abc"ïŒ.. String :: newïŒ "f"ïŒïŒãfillïŒïŒ// "abcdef"
ïŒString :: newïŒ "abc"ïŒ.. = String :: newïŒ "f"ïŒïŒãfillïŒïŒ//ïŒïŒâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-281861478 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3n39uqbADB1rNtBh3PBTRY2XBXOUNks5rfOD-gaJpZM4F4LbW
ã
@durka @nikomatsakisããããŸããããŸãããããããã«è§£æ±ºãããããšãé¡ã£ãŠããŸãã çŸåšã®ç¶æ³ã¯åä»ã§ãããæ§æã®å€æŽãåä»ã§ãã
@pornelåäž...
ã§match
ãããã¯è¯ã解決çã§ã¯ãªãã®ã§ãäºææ§ãç ŽããŸãã ç§ã¯ãŸã ...
ãæãé©åãªãã®ã ãšæã£ãŠããŸãïŒãã ããããã¯Rubyã®æ£å察ã§ãããRubyistã«ãã£ãŠåæ§ã®åé¡ãè°è«ãããŠããŸããïŒã
@ hyst329ãã ãã ...
ã¯ãšã©ãŒã®åœ±é¿ãåãããããªããŸããããã¯ã .
ã
éæšå¥šã¯ç©äºãå£ããŸããã å€ãæ§æã¯æ¢åã®ããã°ã©ã ã§æ°žä¹ ã«ãµããŒããããå¿ èŠããããŸããããŠãŒã¶ãŒã¯ããã¥ã¡ã³ããšrustfmtãä»ããŠæ°ããæ§æã«åããŠæäœã§ããŸãã
ãã ãããŠãŒã¶ãŒã¯ããã¥ã¡ã³ããšrustfmtãä»ããŠæ°ããæ§æã«èªå°ã§ããŸãã
ãã®ããã«rustfmtã䜿çšããªãããšã匷ããå§ãããŸãã ãå€æŽãèªåçã«é©çšãããã¢ãŒãã§äœ¿çšãããšãã¿ã€ããã¹ãããç®çã®ãããã®ã«éãã«å€æã§ããããããããã¬ã³é¢šã®...
å質ãæªåããŸãã ïŒãããã£ãŠãåŸã®æ€æ»ã§èŠèœãšãããããªããŸããïŒ
èªåä¿®æ£ã§ããªããæå³ã確èªããŠ..
ãŸãã¯..=
ããããã䜿çšããŠãã ããããšããã³ã³ãã€ã©ã®èŠåã¯ããã¥ãŒãã³ãšã©ãŒã®å¯èœæ§ã
ãããã¬ã³ãååšããªããã¿ãŒã³ã®æ¢åã®...
ã³ã³ããã¹ãã§è©±ããŠããããšã«æ³šæããŠãã ããã çŸåšãRustã¯äžæçãªãããã¬ã³ã®ãªãç¶æ³ã«ããããã¿ãŒã³ã§ã¯...
ã®ã¿ãèš±å¯ãããåŒã§ã¯..
ã®ã¿ãèš±å¯ããããããã©ã¡ããã¿ã€ããã¹ããå®å
šã§ãã
ãã¡ãããåŒã®...
ã..=
ã«å€æããããšã¯ãå§ãããŸããããã¡ãããã¿ã€ããã¹ãæ°žç¶çã«ãªãã ãã ããã§ãã
ããã ç§ã¯ãããå¿ããŠããŸããã æãåºãããŠãããŠããããšãã
@adelarsqå®éã 'a'..'z'
ã128u8..255u8
ãããªäžè¬çãªãšã©ãŒã¯ãããšãã°èŠåãšããŠcargo-clippy
ç°¡åã«çµ±åã§ããŸãã ãŸãã ..
ãš...
å¹
ã¯æããã«ç°ãªããŸãïŒãã¡ãããçå¹
ãã©ã³ãã䜿çšããå Žåãããã䜿çšããªãããšã¯ãRustã ãã§ãªãäžè¬çã«ãœãŒã¹ã³ãŒããæžãããã®æªãèãã§ãïŒ ã
æ§æã...
ã§ã¯ãªãâŠ
ïŒãŠãã³ãŒãã®æ°Žå¹³æ¥åïŒã«ããããšãã§ããŸããããããã°ãå°ãªããšã誀ã£ãŠå
¥åããããšã¯ãããŸããã
ç·šéïŒããã誰ããã®ææ¡ãçå£ã«æ±ã£ãŠããŸããã§ããïŒcryïŒãã€ãºã§ããããªããã
ããããŸãããæåŸã«ãGoogleDocsãèªåçã«...ãçç¥èšå·ã«å€æããããšã確èªããŸããã ããã¹ãç·šéæ¥çã®äž»èŠãã¬ãŒã€ãŒã
ãŸãã誰ãã䟿å©äœæ²ãå
¥åããããã®ComposeããŒãæã£ãŠããŸãã ã 圌ãã欲ãããšãâŠ
Windowsã§ã¯ããã³ããŒã§Alt + 0133
ã䜿çšããŠçç¥èšå·ãå
¥åã§ããŸãã âŠ
åæ§ã®ã³ãŒããã€ã³ãããŒã¹ã®ã¡ã«ããºã ã¯ãX11ããŒã¹ã®ãã¹ã¯ãããã®ã¹ã¿ãã¯ã®ããŸããŸãªã¬ã€ã€ãŒã«ååšããŸãïŒGTK +ãšX11å ¥åã¹ã¿ãã¯ã«ã¯ç¬èªã®ç¬ç«ãããœãªã¥ãŒã·ã§ã³ãããããšãèŠããŠããŸãïŒããã³ãŒããã€ã³ããçªå·ã§èŠããã®ã¯éåžžã«é¢åã§ãã
äœæ²ã¯á¹œÃšÅÿçŽæçãªãœãªã¥ãŒã·ã§ã³ã§ãã
ç§ãèŠããŠããå¯äžã®WindowsAltã·ãŒã±ã³ã¹ã¯ãåäŸã®é ã«äœæãããã¹ãŠã®DOSããããã¡ã€ã«ã¡ãã¥ãŒã®Alt + 219
ã§ãã
çŸåšã®æ§æã¯ãã§ã«é·ãéååšããŠããã®ã§ãããããã§ã«å®å®ãããŠããã®ç¡éã®ãã€ã¯ã·ã§ãã£ã³ã°ãæ¢ããŸãããã
çŸåšã®æ§æãç¶æããããšã¯ãå€ãã®å®éã®æ¬ ç¹ããããããç§ãã¡ãã§ããææªã®äºæ
ã§ãã ããã¯åãªããã€ã¯ã·ã§ãã£ã³ã°ã§ã¯ãããŸãã-ããã¯æ£ããè¡ãããã¹ãã§ãã ã¹ã¬ããå
šäœãã¹ãããããŠã ..=
æ§æããããŸã§ã§æãåãå
¥ããããŸãã...
ãã®æç¹ã§æ»ãã 銬ãåããŠãããããªæ°ãããŸãããèããŠã¿ããš... ..
ãš...
ã®éãã¯ãæåéããå¯èœãªéãæå°ã®æåã®1ã€ã®ã³ããŒã§ããå
¥åãŸãã¯èªã¿åããå¯èœã§ãåäžã®æåã®ã°ã«ãŒããšæ··åãããä»ã®æ¹æ³ã§ã¯å®å
šã«åºå¥ã§ããªãå Žåã«ãéåžžã«äžè¬çã§ããã°ãã°ã€ã©ã€ã©ããã»ã©èŠã€ãã«ãããšã©ãŒã¯ã©ã¹ïŒ1ã€ãã€ãšã©ãŒïŒãäœæããå¯èœæ§ããããŸãã人ãšæ©æ¢°ã«ã
ãŸãã¯ãæåéããäžçã®ä»ã®æ§æãå®è¡ããããšãã§ããŸãã
äžæ¹ã§ã¯ããã®æžå¿µã«æè¬ããŸããä»æ¹ã§ã¯ãçŸåšã®...
ãã¿ãŒã³ãããã³ã°æ§æã¯ãã§ã«å
æ¬çã§ãããRustã®ä»ã®å Žæã§ãã§ã«äœ¿çšãããŠããæ§æãšå®å
šã«äžèŽããŠããŸãã
å人çã«ã¯éããèªèããã®ã«åé¡ã¯ãããŸããããèŠåã«åé¡ããã人ããŸãã¯4kã¢ãã¿ãŒãš10ptãã©ã³ãã䜿çšããŠãã人ã¯ãããããããŸããã
ããããã³ã³ã»ã³ãµã¹ã¯..=
ãç§ãããã§å€§äžå€«ã ãšæããŸãã
FWIWã ..
ãæå³ãããšãã«èª€ã£ãŠ...
å
¥åããŠãã°ããæ°ä»ããªãã£ããšããç¶æ³ããããŸãããããã°ãããããšãããã°ã©ã ãå¥åŠã«åäœããçç±ãããããŸããã
ããã§ãããã£ãšç®ã«èŠããéããããã¯ãã§ãããããŠ..=
ãæãçã«ããªã£ãŠããŸãã
@ rust-lang / langãã£ã¹ã«ãã·ã§ã³ã«ããããŒãããŸãã ..=
ãæ¡çšããŠãããã1æ¥ãšåŒã¶ã¹ãã ãšæããŸãã ä¿®æ£ãããRFCãå¿
èŠã§ããïŒ æ©ããããïŒ ããã«ã¯ããã¿ãŒã³å
ã®æ¢åã®...
æ§æã®éæšå¥šãå«ãŸããŸããïŒ ïŒç§ã¯ããæããŸããïŒ
ç¯å²ã«...
ã䜿çšããªãããšã«åŒ·ãè³æã§ãã ããã¯ããã®ã¹ã¬ãããŸãã¯ãã§ã«RFCã®ã¹ã¬ããã§èšåãããŠãããã©ããã¯ç¥ããŸããããä»ã«...
äžåœã«äŒŒãèŠãç®ã«ãããŠãã..
ãæã
ã¯ãŸãã䜿çšããããšããå§ãããŸã...
å°æ¥çã«ã¯ãå¯å€ç¯å²IMOãããã¯ããã«éèŠãªå¯å€ååŒæ°ãžã§ããªãã¯ã®
..=
ã¯æãããªããã§ãæ¯èŒçéãã®ã¯..
ãããäžè¬çã§ã¯ãªãããšã§æ£åœåãããŸãã
ããã«ã¯ããã¿ãŒã³å ã®æ¢åã®...æ§æã®éæšå¥šãå«ãŸããŸããïŒ ïŒç§ã¯ããæããŸããïŒ
ããã¯è¯ãèãã®ããã§ãã ...
èŠåããå¯èœã§ããã°ãã¿ãŒã³ã§..
ãš..=
äž¡æ¹ããµããŒãããŸãã
æ§æãæŽæ°ããããã®èªååããŒã«ããªããŠããå€ãã®äººã«åœ±é¿ãäžããèŠåãå°å
¥ããããšã«ã¯äžè¬çã«èŠæããŠããŸããã ...
ãã..=
ãžã®å€æŽã¯ç¹ã«ç°¡åã§ãã ãŸããéæšå¥šã«ããããšãã§ããŸããããã®ãããªããŒã«ãã§ãããŸã§èŠåã«ããããšã延æããŸãã ä»ã®ã¿ããªã¯ã©ãæããŸããïŒ
...
ã¯ãããéåžžã®ãæ§æã§ãããããç§ã¯åŒ·ãæ¯æããŠããŸãã ..=
ã䜿çšããèšèªã¯ããããŸãããã ..
ãš...
ã䜿çšããèšèªã¯ãããããããŸãã
..=
ã«å¯Ÿããææ
ã匷ãå Žåã¯ãèŠèŠçãªåé¡ãåé¿ããåã³ç¡æã«ããããã«ãå
æ¬çç¯å²æ§æã䜿çšããªãããšããå§ãããŸãïŒä»£ããã«ã (a..b).inclusive()
ã¡ãœãããéžæããŸããããã¯ç§ã«ã¯ååç°¡æœã«æããŸãïŒãå¯å€ååŒæ°ãžã§ããªãã¯ã®å Žåã¯...
ã¢ããããŸãã
ç·šéïŒ (a..b).inclusive()
ã«å¯Ÿãã1ã€ã®è¯ãè°è«ã¯ãæ®å¿µãªããã match
ã«ã¯ãŸã ...
ãããã眮ãæããæ°ããæ§æããªããšããããšã§ãã ïŒæ··ä¹±ããŠããïŒ
@steveklabnikããããã®ïŒéåžžã«é·ãïŒã¹ã¬ããã®ã©ããã§ãã§ã«èšåãããŠããå Žåã¯ãè©«ã³ããŸãããä»ã®ã©ã®èšèªãæä»çç¯å²ãšå
æ¬çç¯å²ã«ãããã..
ãš...
äž¡æ¹ã䜿çšããŠããŸããïŒ
Rustã«ã¯ãä»ã®èšèªã®äŸ¿å©ãªæ©èœãšæ§æãæ¡çšããæŽå²ããããŸãããéžæçã«ãå¿ èŠã«å¿ããŠæåŠãŸãã¯é©å¿ããŸãã
@joshtriplett Rubyã¯äž¡æ¹ã䜿çšããŸãããæå³ãéã«ãªããŸãïŒ ..
ã¯å
æ¬çã§ã ...
ã¯æä»çã§ãïŒã Rubyã§ãããè¯ãèãã ã£ããšã¯æããŸãããäž¡æ¹ãæã£ãŠãããšãããã«æ··ä¹±ããå¯èœæ§ããããŸãããéã«ãªããŸãã
@joshtriplettç§ãæãããç¥ã£ãŠããã®ã¯Rubyã§ãã Perlããå
¥æãããšæããŸããããå®å
šã«ã¯ããããŸããã ..=
ããããRubyããéæ¹åã«ã»ãã³ãã£ã¯ã¹ã䜿çšããæ¹ãåé¡ãã
æ£çŽãªãšãããç§ã¯ä»ã®äœãããå®å®ããå
æ¬çç¯å²æ§æã奜ã¿ã ..=
ã«å¯Ÿããç§ã®æ¿ããå«æªã¯å人çãªãã®ã§ãããåççãªäººã
ãåæããªãå¯èœæ§ãããããšãèªèããŠããŸãã
@steveklabnik Swiftã¯..<
ã䜿çšããŠãããšæããŸãããïŒ ããã¯..=
䌌ãŠããããã«èŠããŸãããïŒimoïŒééã£ãã±ãŒã¹ãæé©åãããšããç¹ã§ããã«æªãã§ãã =ïŒ
Swiftã¯.. <ãæä»çã«äœ¿çšãã...ãå
æ¬çã«äœ¿çšããŸãïŒãããã®çšèªã¯
ãããŒããªãŒãã³ãããã³ãã¯ããŒãºããïŒã
ç§ã¯ãŸã .. <ïŒ..ãçç¥åœ¢ãšããŠïŒãš.. =ã奜ãã§ãã
ããããå¥ã®æªè§£æ±ºã®è³ªåïŒãããããã®è¿œè·¡ã®åé¡ã®ç¯å²å ã§ã¯ãªãïŒã¯ãéããç¯å²ã®æ§æãããã ãæ¡çšããã®ãããããšãæåã®ãã€ã³ããéããç¯å²ã®æ§æïŒæ§æïŒïŒãæ¡çšããã®ããã€ãŸãã¹ãããŒãã³> ..>ãš> .. =ã
14:19ã®æšã2017幎3æ16æ¥ã«ã¯ããã³Matsakis [email protected]
æžããŸããïŒ
@steveklabnik https://github.com/steveklabnikSwiftã¯.. <ã䜿çšããŠãããšæããŸãã
æ£ããïŒ ããã¯.. =ã«äŒŒãŠããããã«èŠããŸãããæé©åãããšããç¹ã§ããã«æªãã§ã
ïŒimoïŒééã£ãã±ãŒã¹ã =ïŒâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-287147321 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3n0Wop5fJh9HVo7pSqo0riHm96Gm4ks5rmX1BgaJpZM4F4LbW
ã
ãã¬ãªã¥ãŒãã«inclusive
é¢æ°ãå«ãŸããŠããŠãããŸããŸããã
for x in inclusive(1..10) {
}
äžèŽãšã®å¯Ÿç§°æ§ã説åŸåã®ããè°è«ã ãšæããããšã¯ãããŸããã æä»çãª..
ãã¿ãŒã³ãè¿œå ããããšã«ãããšæããŸãããããããå«ãã§ãããã¿ãŒã³ã®å€ããã¿ãŒã³ãšäžèŽããªããªããŸããã ç¯å²ã®äžèŽã¯ãç¯å²ã®å埩ãšã¯æ ¹æ¬çã«ç°ãªããŸãã察称ã§ããå¿
èŠãããçç±ã¯ãããŸããã ããã§ããªãã·ã§ã³ã§ããå Žåããã¿ãŒã³ã§..
ãèš±å¯ããªãããšãç©ããã«å¥œã¿ãŸãããããã§ã¯ãªããšæããŸããïŒ
..=
ãš...
äž¡æ¹ã®æ¬ ç¹ã¯éèŠã ãšæããŸãã ..=
ã¯ããªãå¥åŠã§ããã ...
ã¯ãªãã®å¯èœæ§ã1ãšã©ãŒå¢ãããŸãã
ãã®ãããªçµããã®ãªããã°ã®å¯èœæ§ããããå¥åŠãªå€èŠ³ã®æŒç®åã䜿çšããããšããå§ãããŸãïŒãã¹ãŠã®èšèªã§ãä»ã®èšèªã«ã¯ãªãæŒç®åãå°å
¥ãããŸããããšãã°ãSwiftã®..<
ãFïŒãšScalaã®ãã¹ãŠã®æŒç®ïŒã ãšã«ãã人ã
ã¯Rustã®æ¬ãèªãŸãªããã°ãªããªãã§ãããã
å€ãã®äººãRubyããRustã«æ¥ãŠããããšãèãããšãRubyã«æ¯ã¹ãŠéè¡ããã¹ãã§ã¯ãããŸããã ïŒ ...
ã¯ããªãã®å¯èœæ§ã1ãšã©ãŒå¢å ããããšããè°è«ã«å ããŠãïŒ
Swiftã§ã¯..<
ãåãå
¥ããŠããRustã§ã¯..=
ãåãå
¥ããªãããã«ããã«ã¯ã©ãããã°ããã§ããïŒ ..=
ã¯ããã»ã©å¥åŠã§ã¯ãããŸããã
ãã¿ãŒã³ã§ç¯å²æ§æãæ¡åŒµããããšã¯ãAFAIKãšåæ§ã«æªè§£æ±ºã®åé¡ã§ãã
äžã€ã«ã¯ã Enum::Variant(..)
ããã§ã«ååšãããããå®å
šã«å®è¡ããããšã¯ã§ããŸããã
æå¹ã§ã Enum::Variant(RangeFull)
ãæå³ããããã«å€æŽãããšå£ããŸãã
15:07ã®æšã2017幎3æ16æ¥ã«ã¯ãBoscopã®[email protected]ã¯æžããŸããïŒ
å¥åŠã«èŠããæŒç®åã䜿çšããããšããå§ãããŸãïŒãã¹ãŠã®èšèªã§å°å ¥ãããŸã
ä»ã®äººãæã£ãŠããªãæŒç®åãããšãã°ãSwiftã§ã¯.. <ãFïŒã§ã¯ãã¹ãŠã®æŒç®
ããã³ScalaïŒã ãšã«ãã人ã ã¯Rustã®æ¬ãèªãŸãªããã°ãªããªãã§ãããã
å€ãã®äººãRubyããRustã«æ¥ãŠããããšãèãããšã
Rubyãšæ¯èŒããŠéæ¹åã«ããã¹ãã§ã¯ãããŸããã ïŒè°è«ã«å ããŠ
ãã®...ãªãã®å¯èœæ§ã1ãšã©ãŒå¢å ããŸããïŒ
Swiftã§ã¯.. <ãåãå ¥ããŸãããRustã§ã¯.. =ãåãå ¥ããªãããã«ããã«ã¯ã©ãããã°ããã§ããïŒâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-287160485 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3nz9ZNR2utl7LPTVvQPQ_Ma8sDBGuks5rmYhmgaJpZM4F4LbW
ã
ããã slice.get(10...30)
ãããªãã®ãå
¥åããŠãã±ãŒããé£ã¹ãããããã«ããããšæããŸãã
ç§ã¯ãä»ã®ã©ã®æ§æãããinclusive(0..10)
ã匷ã奜ããšç¢ºä¿¡ããŸããã
slice.get(10...30)
ãæžãããã®ã§ããããããslice.get(10...30)
ãslice.get(10..30)
ãã现å¿ã®æ³šæãæãå¿
èŠã¯ãããŸããã æ§æã®è¿ãã¯æ¬åœã®åé¡ã ãšæããŸãã..=
ã¯çŸçã§ã¯ãªããããããçŽæçã§ã¯ãªãããšã«èª°ããåæããŠãããšæããŸãã(0..10).inclusive()
ã¯åãæ§æã§ãããããŸã䟿å©ã§ã¯ãããŸããã æè¡çã«ã¯ã inclusive
ãã¬ãªã¥ãŒãã¯ããããäž¡æ¹ã®æ§æããµããŒãããŸããç§ã¯ããããã®ããã«èŠãããšæããŸãïŒ
trait IntoInclusive {
type Inclusive;
fn inclusive(self) -> Self::Inclusive;
}
fn inclusive<T: IntoInclusive>(range: T) -> T::IntoInclusive {
range.inclusive()
}
ç§ã¯èª°ããåæãããšæããŸã.. =ã¯çŸçã§ã¯ãªããããããçŽæçã§ã¯ãããŸããã
ããã¯å°ãäžè¬åãããã ãšæããŸãã ..=
ã¯ã inclusive()
ãããªæ¹æ³ãããçŸçã§çŽæçã§ããããšãããããŸããã
ïŒãŸãã ..=
ã«å¯Ÿããå«æªæã®ã©ãã ããã ...
ã§ã¯ãªããã®ã®åé¡ãèŠã€ããããã®æœåšæèïŒãŸãã¯æèçïŒãªåªåã§ããå¯èœæ§ããããã¯ããããŸãããïŒ
.inclusive()
ã¯ãéåžžã«é »ç¹ã«çºçãããã®ã«ã¯é·ãããŸãïŒãã®ç¹ã§ã .enumerate()
ã¯çã圢åŒãå¿
èŠã ãšæããŸãïŒã
ãã ãã .inclusive()
ããã£ããšããŠããé¢æ°ã¯2ã€ã§ã¯ãªãã1ã€ã ãã§ããå¿
èŠããããŸãã
ããã«ãå
æ¬çç¯å²æ§æããªããšã match
ã§äœ¿çšã§ããŸããã
ãããã Scalaã®ããã«ãäžè¬çãªæ¹æ³ã§ãšã¯ã¹ãã©ã¯ã¿ãŒãæå®ããæ¹æ³ãå¿
èŠãªã®ãããããŸããã ãããã§ä»»æã®ã¿ã€ãã䜿çšã§ããããã«ããããããããã¯æé»çã«ãã®unapply
ã¡ãœãããåŒã³åºããŸãã
ïŒãŸãã.. =ã«å¯Ÿããå«æªæã®ã©ãã ãããããã§ãªããã®ã®åé¡ãèŠã€ããããã®æœåšæèïŒãŸãã¯æèçïŒãªåªåã§ããå¯èœæ§ããããã¯ããããŸãã....ïŒ
ç§ããã¯ãããŸããã ããã¯äžçš®ã®æªæã®åçºã§ãã
ããã«ãå æ¬çç¯å²æ§æããªããšãããããäžèŽããŠäœ¿çšããããšã¯ã§ããŸããã
å
æ¬çç¯å²ãã¿ãŒã³ã¯ã match
ãã§ã«ãµããŒããããŠããŸãã å®éãä»æ¥ãã¿ãŒã³ãšããŠãµããŒãããŠããç¯å²ã¯ãããã ãã§ãã
@withoutboatsããããããç§ã¯ãå
æ¬çç¯å²æ§æããªããšãããããäžèŽããŠäœ¿çšããããšã¯ã§ããŸããããšèšããŸããã çŸåšãæ§æã¯ãããŸãããScalaã®ãããªãšã¯ã¹ãã©ã¯ã¿ããªããšäžèŽããŠäœ¿çšã§ããªããããç§ã®è°è«ã¯.inclusive()
ã«å察ããŸããã ãããŠããã®åé¡ã®èŠç¹ã¯ãå
æ¬çç¯å²æ§æã¯ãäžèŽããŠã®ã¿æ©èœããçŸåšã®æ§æã®ä»£ããã«æ§æã決å®ããç¹å¥ãªã±ãŒã¹ã§ãã£ãŠã¯ãªããªããšããããšã§ãã
å
æ¬çïŒ for i in 1..10! { }
Java / C / C ++ã§15幎以äžåããŠãã人ãšããŠã ..
ãš...
ã¯ããªãæ··ä¹±ããŠããŠãå
¥åãã¹ã ãã§ãã°ãçºçããå¯èœæ§ãããããšãããããŸããã ãŸããRubyãšã®é¢ä¿ã¯ããããããã«æ··ä¹±ãããŸãã ãã®ããã ..=
ãŸãã¯ãã®ä»ã®ä»£æ¿æ段ãé©ããŠããŸãã
ç§ã®ãåžœåãããªã³ã°ã«æããïŒ
for i in 1..10^
æ£ããå€ããã£ãš_up_ã«ãªãããšã象城ããåžœå/ãã£ã¬ããã
@leebensonå人çã«ã¯ãå€åŽã«ã¿ãã¯ãä»ããã«ãçãäžã«çœ®ããæ¹ããããšæããŸãã
for i in 1..^10
@ retep998éä¿¡ã
@ retep998 ..=
ãããã¯ããã«è¯ã..^
ææ¡ã奜ãã§ã; ããã¯ãã®æå³ãã¯ããã«åèµ·ããŠããããã«èŠããæ¡åŒµä»£å
¥æŒç®åïŒ +=
ã*=
ïŒã®å¥åŠãªå€åœ¢ã®ããã«èŠããããšãé¿ããŸãã ããã¯èšã£ãŠããã©ã¡ãã...
ããã¯ããã«åªããŠããŸãã
..^
åŸåãã«ããããšã¯ã§ããŸããã
å人çãªã¬ãã«ã§ã¯ãããã¯éåžžã«éãã§ãïŒ ..
ã¯ãå€ãã®ãã©ã³ãã§^
ããåçŽæ¹åã«åãé¢ãããŠããããã§ãïŒã
UI / UXã®äººãšããŠãããã¯èªåã®å©çã®ããã«è³¢ãããäŸã ãšæããŸãã
å¥ã®èšèªããæ¥ãŠ..^
ããããç¯å²ãšããŠèªèã§ããªãå ŽåããããŸãïŒç§ãç¥ã£ãŠããéãã 5..^15
ã¯15! - 4!
å¥åŠãªéšåçå åèšç»ã®çç¥åœ¢ã§ããå¯èœæ§ããããŸã
ïŒæèã§èããªãã£ãå Žåã ...
ã¯ããã³ãŒã«ããã¯ãããã«æ¿å
¥ãããããŸãã¯ãã€ãã³ããçºè¡ãããã®ãããªãã®ãæå³ããå¯èœæ§ããããŸããæãçŽæ¥çãªäŸã瀺ããŸããç¢å°ã«äŒŒãŠããããšã§ããã£ãšäžã«è¡ãããšããæå³ãäžããããšã¯ãæ°åè
ã®æåŸ
ãšã©ã®ããã«çžäºäœçšããããšããç¹ã§ãæå
ã®æ©æ¥ã§éæ³ã®ããªãã¯ãè¡ããããªãã®ã§ããïŒ
察ç
§çã«ã =
ã¯ãå²ãåœãŠã®ã¢ã¯ã·ã§ã³ãšå¹³çã®æŠå¿µã®äž¡æ¹ãåç
§ããåäŸãããã ..=
ã«æãè¿ãããããå¥åŠãªã¹ãä¹æ§æãã®ãããªèª€è§£ã¯ãããŸãããå²ãåœãŠæŒç®åã«ãã£ãŠãŸã åŠçãããŠããªããå²ãåœãŠ+çåŒãã¯ããå³åŽã®æ°åã§çµããæ°åãšé¢ä¿ããããã§ã...ããã¯ãç¯å²æ§æãè¡ãããšã®ãããŸãã§ããé©åãªå®çŸ©ã§ãã
ãŸãã ..^
ãã³ã³ããã¹ãã§ã®äœ¿çšããç¯å²æ§æã§ããããšãèªèãããšããŠãã ^
ã¯æå³ããªããããæåã¯å
æ¬çãæä»çããçŽæçã«ããããªãã®ã§ã¯ãªãããšå¿é
ããŠããŸããé¢é£ããã³ã³ããã¹ãã§ã®2..^8
ã¯ã2ããå§ãŸããåã®ã¹ãããã8ã®çŽ¯ä¹ã§ã¹ããããããªãŒãã³ãšã³ãç¯å²ã®çç¥åœ¢ã§ããå¯èœæ§ããããŸãïŒã€ãŸãã 2..Inf^8
ã¯ãã2ããç¡é倧ãŸã§8ã¹ãããã§ç¹°ãè¿ããã®çç¥åœ¢ã§ãã2..+8
2..Inf^8
ãšã¯å¯Ÿç
§çã§ããïŒ
while
ã«ãŒããäœæãããšãã人ã
ã¯<
ïŒæä»çïŒãš<=
ïŒå
æ¬çïŒã®èŠ³ç¹ããèããããšã«æ
£ããŠããããããã®åé¡ã¯..=
ã«ãã£ãŠãåé¿ãããŸããããã³Cã¹ã¿ã€ã«ã®for
ã«ãŒãã
@ssokolowåæ³çãªåæã
å人çã«ã¯ã ..=
ãŸãã¯..^
ãããããåŸåãã«ããããšãã§ããŸãã ã©ã¡ãã®èšå·ãç§ã«ã¯æå³ããããŸããã€ãŸãããããããæ倧ããŸãã¯ãæ倧ããŸãã¯åã«ãæ倧ãã§ãã ç§ã®èãã§ã¯ãã©ã¡ããåãæå³ã§ãã
ç§ãã¡ã¯çãä»ã®èšèªããã®æŽå²ãæã¡èŸŒã¿ããããšãšãã«ãæ±æããã象城/åèŠãæã£ãŠããã®ã§ã誰ããæºè¶³ãããã®ãæãä»ãã®ã¯é£ããã§ãããã ããšãã°ãåã«æ¿å
¥ãããšãã¹ãããããŸãã¯ææ°ãè¡šãæèŠããã£ãã®ã«å¯Ÿããæ¥å°ŸèŸã¯ç¯å²ãæ±æãããã©ããããããããçŽç²ãªæèŠãæ®ãããããæåã«^
èšå·ãæ°åã®_åŸ_ã«è¿œå ããŸããã ããããããã¯ç§ã ãã§ãã
ãããã«ãããç§ã¯ãå³åŽã®valãæé»çã«+1ããé¢æ°åŒã³åºãããããäœããã®åœ¢åŒã®çç¥è¡šèšã奜ãã§ãããã ããã¯ãé¢æ°åŒã³åºãã®ããã«æãããã®ã«å§ä»»ããã«ã¯æ§æãäžè¬çããããšãã以åã®ã³ã¡ã³ãã«åæããŸãã ç§ã...
æ°ã«ããŸãããã確ãã«ãããã¯ããããæ°ããæã®=
/ ==
ãã°ã§ããã誰ãã足ã§æã€ããšã«ãªããŸã...
å€ãã®äººãç©æ¥µçã«å«ããªããã§ã.. =誰ãåŠå®çãªããšãèšããŸããã§ãã
çŽ....ããã¯éãã«ç¡èŠãããŸããïŒããã€ãã®èŠªæãé€ããŠïŒç§ã¯
ç§ã¯ãããåã³æã¡åºãã人ã
ã«ãããèããŠãããã
圌ããããã«å察ããŠãããªãããã䜿ããªãçç±ã
ããã¯ãã ã®ãã€ãºãªã®ã§ãç§ã¯ããã«ã€ããŠèšåããããšããå«ãã§ãããã©ãã§ãããããïŒ
ïŒãããã³ãã³ïŒå
æ¬çã§ããïŒ ãããã¯3ã€ã§ãã2æåã§ã
圢ã¯ããã..ãšåºå¥ããŸãã
11:50æåã2017幎3æ18æ¥ã«ã¯ããªãŒã»ãã³ãœã³[email protected]
æžããŸããïŒ
@ssokolowhttps ïŒ//github.com/ssokolowæ£åœãªåæã
å人çã«ã¯ã.. =ãŸãã¯.. ^ã®ã©ã¡ãããåŸåãã«ããããšãã§ããŸãã ã©ã¡ããã®è±¡åŸŽ
ç§ã«ã¯çã«ããªã£ãŠããŸã-ã€ãŸãããæ倧ããŸãã¯ãæ倧ããŸãã¯åã«ãæ倧ãã
ããããã ç§ã®èãã§ã¯ãã©ã¡ããåãæå³ã§ããã¿ããªãæºè¶³ããããã®ãæãã€ãã®ã¯é£ããã§ãããã
ç§ãã¡ã¯çãä»ã®èšèªããæŽå²ãæã¡èŸŒã¿ããããšãšãã«æ±æãããŠããããã§ã
ã·ã³ãã«/ãã€ã¢ã¹ã æåã«çªå·ã®åŸã«^èšå·ãè¿œå ããŸããã
ããšãã°ãåã«æ¿å ¥ãããšãã¹ãããããè¡šãæèŠããã£ãããã§ãã
ãŸãã¯ææ°ã§ãããæ¥å°ŸèŸã¯ç¯å²ãæ±æãããã©ããããããããçŽç²ãªãŸãŸã«ããŸãã
ãã£ãŒãªã³ã°ã ããããããã¯ç§ã ãã§ãããããã«ãããç§ã¯äœããã®åœ¢ã§ã®éèšæ³ã奜ãã§ãããã
å³åŽã®å€ãæé»çã«+1ããé¢æ°åŒã³åºãã 以åã«åæããŸã
ããã¯ããŸãã«ãäžè¬çãªæ§æã§ããã
é¢æ°åŒã³åºãã®ããã«æããŸãã ç§ãæ°ã«ããŸãã...ãããã確ãã«ãããã¯
ãããã= / ==æ°ããæã®ãã°ã§ã誰ããæã€ããšã«ãªããŸã
足...â
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-287566556 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AIhJ6jWgPwndKaQvVjULlV_OoC6WDO0Cks5rnCeLgaJpZM4F4LbW
ã
ãããããã¯ãŸã ãã€ã¯ã·ã§ãã段éã§ããïŒ ð
æ¯ãè¿ã£ãŠã¿ããšã ..=
ããŠã1æ¥ãšåŒã¶ããšã«åæãããšæããŸãã ..
ãš...
ã®é¡äŒŒæ§ã¯åŸ®åŠããããããå¯å€ååŒæ°ã®ãžã§ããªãã¯ã¹ïŒhttps://github.com/ïŒã«ãããŸãããæããã«...
ããŒã¯ã³ã䜿çšããããšæããŸãã rust-lang / rfcs / pull / 1935ïŒã2ã€ã®éã®æ··ä¹±ãå°ãªãããããã®éåžžã«æ確ãªç®çãæãããŸãã
ãã¹ãŠã®ããŒããªãŒãã³ããªã¢ã³ãã«å¯ŸããŠããäžè¬åãããæ§æãå¿
èŠãã©ããã¯ããããŸãããã ..
ããã³..=
以å€ã®èšèªæ§æãæäŸãã䟡å€ã¯ãªããšæããŸãã ã
ããã¯ãã ã®ãã€ãºãªã®ã§ãç§ã¯ããã«ã€ããŠèšåããããšããå«ãã§ãããå æ¬çã§ããããã«ã:(ãããã³ãã³ïŒã¯ã©ãã§ããïŒ
@ssokolowã¯ãUI /è³¢ããšããç¹ã§ããã€ãã®çŽ æŽãããç¹ãæãããšæããŸãã ç®ãéšããŠä»ã®äœããèŠãããã«ããããã«3çªç®ã®ãããã®æ¹åãåãæ¿ããããšã¯ããããããã®ã«ããŽãªã«å«ãŸãããšæããŸãã
ç§ã¯å人çã«ã3çªç®ã®ããããããããšã«_ãŒã_ç°è°ãå±ããŠããŸãããæçµçã«ã¯äžéšã®äººãã€ãŸããããããšã«ãªã£ãŠããããšãç¥ã£ãŠããŸãã ãããã説æããã®ãéåžžã«ç°¡åãªã®ã§ãå·§åŠãªåé¿çãèšèšãã責任ãèšèªã«ããã¹ããã©ããã¯ããããŸããã '2ãããã¯æä»çã§ãã 3ããããå«ã 'æ¬åœã«ææ¡/ãããã°ããã®ã¯é£ããã§ããïŒ
ãããã«ããã誰ãæçµæ±ºå®ãäžãããããçµããããããã®æ¬¡ã®ã¹ãããã¯äœã§ããïŒ 3çªç®ã®ãã£ã©ã¯ã¿ãŒã«ã€ããŠè©±ãåã18ãæã¯ããããããã®æç¹ã§ãã€ã¯ã·ã§ãã£ã³ã°ã§ãð
åæããŸããã^ã¯ãããã¹ãããã®ããã«èŠããŸãã
..
ã¯op=
æŒç®åãšã®IMOã®äžäžèŽã¯ã a = a .. b
ã®æå³ã§a ..= b
ãæã€æ¹æ³ããªãããåé¡ãããŸãããæŒç®åã§ã¯ãªããç¯å²ãæ§ç¯ããããã®ã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ãŒã§ãïŒãããŠãä»»æã®opãèªåçã«op=
ãš..
圢åŒãååŸããäžè¬çãªopãªãŒããŒããŒãã¹ããŒã ã¯ãããŸããïŒã
ããã¥ã¡ã³ããèŠãªããŠã..=
ãæ確ã ãšèšã£ãŠããã®ã§ã¯ãããŸããã ãããã人ã
ãããã¥ã¡ã³ããèŠããšãèŠãããããªãããšã«ããããã¥ã¡ã³ããèŠãå¿
èŠããããŸãã
@nikomatsakisã®æåãèãããšãæ¥é±ã®lang-teamããŒãã£ã³ã°ã§ããã«ã€ããŠè©±ãåãããã®æç¹ã§é»è©±ããããããšã«ãªããšæããŸãã ç§ã¯ãããã«ã¯langããŒã ãé»è©±ããããŠãã€ã¯ã·ã§ãã£ã³ã°ãçµäºããã ãã§ããããšã«åæããŸãã
ãŸãã
..^
ãã³ã³ããã¹ãã§ã®äœ¿çšããç¯å²æ§æã§ããããšãèªèãããšããŠããæåã¯ãããå æ¬çã§ãããæä»çã§ããããçŽæçã«ããããªãã®ã§ã¯ãªãããšå¿é ããŠããŸãã
åæããŸããã å®éãç§ã¯ãã§ã«Perl 6ã§ãã®æ§æãèŠãŠããŸãããããã§ã¯ãããã§ã®ææ¡ãšã¯éã«ãæä»çãæå³ããŸãã
@solsonããã¯ããã«å¯ŸããŠéåžžã«èª¬åŸåã®ããè°è«ã§ãã
Perlã¯å®å
šã«äžè¬çãªæ§æãæã£ãŠããããã§ã..ã¯å
æ¬çãæå³ããŸãïŒäž¡æ¹ã§
åŽé¢ïŒãš^ã®ããããã®åŽã¯ããã®å¢çãæä»çã«ããŸãã
18:51æåã2017幎3æ18æ¥ã«ã¯ããžã§ã·ã¥ã»ããªãã¬ãã[email protected]
æžããŸããïŒ
@solsonhttps ïŒ//github.com/solsonããã¯éåžžã«èª¬åŸåã®ããè°è«ã§ã
ããã«å¯ŸããŠãâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-287580739 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3n7Fnn1_t9BkYOhfS-7oCaGlVff2aks5rnF_5gaJpZM4F4LbW
ã
ç³ãèš³ãããŸãããã@ rust-lang / langããŒãã£ã³ã°ã§ãã®åé¡ã«ã€ããŠè©±ãåã£ããšããã³ã³ã»ã³ãµã¹ã«éããããšãã§ããŸããã§ããã ç¹ã«@withoutboatsã«ã¯ããã€ãã®å³ããäºçŽããããããŸãããã°èªåãã¡ã§æŸæ ããããšãã§ããŸãã
ç§ãã¡ãè°è«ããããã€ãã®äž»èŠãªãã€ã³ãïŒ
x ..= y
ãæ¡çšããå Žåãæ¢åã®x...y
ãã¿ãŒã³æ§æãå»æ¢ããããšãæå³ããŸãã(x..y).inclusive()
ãªã©ãšæžãã ãã§ãã ãã ããããã¯ãã¿ãŒã³ã§ã¯æ©èœããŸããïŒããããx...y
ïŒã ããã¯ããèªèº«ã®ããã€ãã®è³ªåãæèµ·ããŸãïŒmatch 3 { 1..3 => false, .. }
ãã®è°è«ããçãŸããã®ã¯ãçžåãããã¹ãŠã®èŠçŽ ãäžåºŠã«æ±ºå®ããã®ãè¯ããšããããšã ãšæããŸãã èšãæããã°ã解決ãã決å®ãæ¡çšããã«ã¯ïŒ
ãã®èšäºãæžãå§ããåã«ãäŒè©±ã®åç¬éã§ç§ãã¡å šå¡ãå®éã«åãæŠå¿µã«ã€ããŠè©±ããŠããããšãéåžžã«äžç¢ºãã«æããããšãèšããããšæããŸãã ããšãã°ããã³ã¯ãæä»çãªç¯å²ãã¿ãŒã³ã¯ãå¿ èŠã«ãªããŸã§ã¯ç¡é¢ä¿ã«èŠããããšèšã£ãŠããŸãããåœæããã³ãšãžã§ã·ã¥ã¯å æ¬çãªç¯å²è¡šçŸã«ã€ããŠè©±ããŠãããšæããŸããã
ïŒãããŠããã³ã®æçš¿ã®æåŸã®éšåã§ãçŸåšãæä»çç¯å²åŒããèªãã§ããæåã®ç®æ¡æžãã¯ãå æ¬çç¯å²åŒããšèšãã¹ãã ãšæããŸããïŒ
ç¯å²åŒã«ã€ããŠïŒ
...
ã§ã..=
ã§ããªããå
æ¬çç¯å²åŒã®æ§æãå°å
¥ããªãã§ãã ãããinclusive(0..10)
ãšèšè¿°ããŸãïŒååã¯ãã€ã¯ã·ã§ããã«ããããšãã§ããŸãïŒãç¯å²ãã¿ãŒã³ã«ã€ããŠïŒ
èšãæããã°ãç§ãã¡ãè¡ãã¹ãå¯äžã®éèŠãªå€æŽã¯ãlibsã®å€æŽã§ããã€ãŸãããã¬ãªã¥ãŒãã«é¢æ°ãè¿œå ããŸãã
ç§ã®è°è«ã®åºæ¬ã¯ãå æ¬çç¯å²ã®å€ãå埩åŠçããããšã¯ãŸããªããŒãºã§ãããšããäºå®ã§ãã ããã¯ãRFCã18ãæåã«åãå ¥ããããã«ãããããããå®è£ ã®åé¡ã§ã¯ãªãããã¬ãŒããªãã«æºè¶³ããŠããªãããã«ããã®æ©èœããŸã å®å®ãããŠããªããšããäºå®ã«ãã£ãŠè£ä»ããããŠãããšæããŸãã
å æ¬çç¯å²åŒã¯ãããããäœæããç°¡åãªæ¹æ³ããµããŒãããã®ã«ååãªé »åºŠã§å¿ èŠã«ãªããšæããŸããããããŸã§ã«èª¬æããæ§æã®æ¬ ç¹ãå æããã®ã«ååãªé »åºŠã§ã¯ãããŸããã
ç¹ã«ããã¹ãŠã®æ§æãœãªã¥ãŒã·ã§ã³ãå
±æããŠããæ¬ ç¹ã¯ããããã®ã©ããå®éã«ã¯èªå·±ææžåãããŠããªãããšã§ãã 0...10
ãŸãã¯0..=10
ãå
æ¬çç¯å²åŒã§ããããšã¯æ¯èŒçæçœã§ã¯ãããŸããã ãããã«ééããããšã¯æ¯èŒçãŸãã§ãããããããã¯ãåããŠãããã«ééãããŠãŒã¶ãŒã«ãšã£ãŠã€ãŸããã«ãªããŸãã
ã€ãŸãããŠãŒã¶ãŒããéåžžã®ã ..
ç¯å²ãåŠçããŠããªãããšã«æ°ä»ããå Žåã§ãã ãã¡ãããããã¯...
ã®å€§ããªåé¡ã§ããã ..=
åé¡ãå®å
šã«è§£æ¶ãããããã§ã¯ãããŸããã ã³ãŒãããã£ãšèªããšããã®1ã€ã®=
æåïŒãŸãã¯^
ãŸãã¯:
ãªã©ïŒãèŠéãã®ã¯ç°¡åã§ãã äœåãª.
ã»ã©ç°¡åã§ã¯ãããŸããããç§ã¯ãã®ç®ç«ã€ããšãååã«ç¢ºä¿¡ããŠããŸããã
ç§ã¯å®éã ...
ãš..=
éã«ã¯ã泚ç®åºŠãšèªææ§ãã®ãã¬ãŒããªãããããšæããŸãã ...
äœãæå³ããã®ãïŒ2ã€ã®æ§æãå察ã®æå³ãæã€Rubyããæ¥ãŠããå Žåãé€ããŠïŒã¯..=
ãããæçœã ãšæããŸãããããã»ã©ç®ç«ããªãããšã¯ééããã
ãããã inclusive(0..10)
ãããªãã¬ãªã¥ãŒãé¢æ°ã¯ããããŸã§ã«èª¬æããã©ã®æ§æãããæçœã§ããã泚ç®ã«å€ãããã®ã ãšæããŸãã ã¯ããå
¥åããæåæ°ã¯å€ããªããŸããããã®å±æ§ã®æ¬ ç¹ã¯äœ¿çšé »åºŠã«é¢é£ããŠããŸãã
ãŸãã解æãšããŒã¯ã³åã®åé¡ãåé¿ãã (0..10).filter
ãªã©ãèšè¿°ããå¿
èŠãããïŒéåžžã«åä»ãªïŒç¯å²ãšã¡ãœããã®åªå
é äœã®åé¡ã§ãŠãŒã¶ãŒãæ¯æŽããŸãã
..
è¿œå ãã¹ãã§ã¯ãªããšæãäž»ãªçç±ã¯ãã¹ã©ã€ã¹ãã¿ãŒã³ã®åšãã«ãããŸãããçããããã§ããããã¯äŸ¿å©ã ãšæããŸãã ãã®åé¡ã解決ããå¿
èŠããªãããšã§è§£æ±ºããããšæããŸãã
2çªç®ã®çç±ã¯ã圌ããããªãæªãã¹ã¿ã€ã«ã ãšæãããšã§ãïŒä»ã®äººãåæããªãããšãç§ã¯ç¥ã£ãŠããŸãïŒã äŸãã°ïŒ
if let 1..10 = x { .. }
10
ã¯ãããå«ããã¿ãŒã³ãšäžèŽããªããããããã¯æ··ä¹±ãæããšæããŸãã ãã³ã¯ãããã¯10
ãçæããªãæä»çç¯å²åŒãšå®éã«ã¯éãã¯ãªããšè¿°ã¹ãŸãããã倧ããªéãã¯ãæä»çããµããŒãããããã®Dijsktraã¹ã¿ã€ã«ã®æŽå²çå
äŸïŒããã³ãŠãŒã¹ã±ãŒã¹ïŒãããããããããšã§ããç¯å²ã Rustã«å
¥ã£ãŠãç§ã¯å埩ãšã¹ã©ã€ã¹ã®ç¯å²ãæä»çã§ããããšãæåŸ
ããŠããŸãããããã¿ãŒã³ã«ã€ããŠã¯ãã®æåŸ
ãæã£ãŠããŸããã§ããã
ãŸããåŒã®..
/ ...
ã«ããããªããã€ã¯ã³ãã®åé¡ããããŸãã
ç§ã¯ãã³ã圌ãæžããããšèšã£ãããšãç¥ã£ãŠããŸãïŒ
match x {
0..10 => { ... }
10..20 => { ... }
}
ããããç§ã¯æ¬åœã«åŒ·ãèŠãããšæããŸãïŒ
match x {
0...9 => { ... }
10...19 => { .. }
}
ãšã«ããããã³ãæã ããããã絶察ã«å¿ èŠãã ãšæã£ãŠããããšã«é©ããã®ã§ããã£ãšåè«ãèãããã§ãã ãããã¯constexprã§ãªããã°ãªããªãã®ã§ãç§ã«ãšã£ãŠã¯ã絶察ã«å¿ èŠãªããã®ãšããããããæã£ãŠãããšãããã®ããã«æããŸãã
å æ¬çç¯å²è¡šçŸãããæä»çç¯å²ãã¿ãŒã³ã®æ¹ã確å®ã«æºãããããšæããŸãã
ãã³ã¯ãè¡šçŸãšãã¿ãŒã³ã®äž¡æ¹ã«..
ãš...
äž¡æ¹ãå«ããããšããäžè²«æ§ã®ããã«åœŒã«ãšã£ãŠéèŠã§ãããšè¿°ã¹ãŸããã ç§ã¯åºæ¬çã«ãã®è°è«ã«ãŸã£ããåããŠããŸããã ç¯å²ãå埩åŠçããããšãšç¯å²ãç
§åããããšã¯ãå®éã«ã¯é¡äŒŒããæäœã§ã¯ãªãããããã®åŠçæ¹æ³ã«éããããããšã¯çã«ããªã£ãŠããŸãã
å®éãå®è£
æ¥ç¶ãããããŸããã 1..10
ã¯ç¯å²å€ãçæããŸããã 1...10
ã¯æŽæ°å€ãšäžèŽããŸãã ã»ãšãã©ã®å¯Ÿç§°çãªåŒ/ãã¿ãŒã³æ§æã®ããã«ãæ§é å/ç Žå£åã®æ¥ç¶ãããããã§ã¯ãããŸããã
ãã¿ãŒã³ããç¯å²ãã¿ãŒã³ããããããã¡ã€ã³ãã¿ãŒã³ããšåŒã¶æ¹ãæè¡çã«æ£ããããã§ãð€ããã¯éé¡äŒŒæ§ã匷調ããŠããŸãã
@withoutboats
ããšãã°ããã³ã¯ãæä»çãªç¯å²ãã¿ãŒã³ã¯ãå¿ èŠã«ãªããŸã§ã¯ç¡é¢ä¿ã«èŠããããšèšã£ãŠããŸãããåœæããã³ãšãžã§ã·ã¥ã¯å æ¬çãªç¯å²è¡šçŸã«ã€ããŠè©±ããŠãããšæããŸããã
ç§ã®åŽã§ã¯ãããŸããŸãªæç¹ã§æä»çç¯å²ãšå
æ¬çç¯å²ã®äž¡æ¹ãå¿
èŠã§ããããšãããããŸããïŒãã ããå®å®ããRustã§äœæ¥ããããã«äž¡æ¹ã®ã±ãŒã¹ã§æä»çã䜿çšããäžéšã«+1
ããŠåé¿ããå¿
èŠããããŸãããããŠã³ãïŒã ãã¿ãŒã³ãšè¡šçŸã®äž¡æ¹ã§å©çšã§ããããã«ããããšæããŸãã
ãšã¯ãããå人çã«ã¯ãå
æ¬çç¯å²ãšæä»çç¯å²ã®äž¡æ¹ããã¿ãŒã³ã§èšè¿°ããæ¹æ³ãå¿
èŠãªå Žåãé€ããŠãå
æ¬çç¯å²ã®é¢æ°ã䜿çšããããšã«ç°è«ã¯ãããŸãããããã2ã€ã®æ§æãçŽãããã䌌ãŠããªãããã«ããããšæããŸãã ..
ãš...
ããã«ã ãããŠããã®ãããªç¯å²ããã¿ãŒã³ã§èšè¿°ããããã®æ§æãèãããšãåŒã®ãã®ãããªç¯å²ã«å¯ŸããŠç°ãªãæ§æã䜿çšããããšãçã«ããªã£ãŠããããšãç§ã¯ç¥ããŸããã
ç¹ã«ããã¹ãŠã®æ§æãœãªã¥ãŒã·ã§ã³ãå ±æããŠããæ¬ ç¹ã¯ããããã®ã©ããå®éã«ã¯èªå·±ææžåãããŠããªãããšã§ãã 0 ... 10ãŸãã¯0 .. = 10ãå æ¬çç¯å²åŒã§ããããšã¯æ¯èŒçæçœã§ã¯ãããŸããã ãããã«ééããããšã¯æ¯èŒçãŸãã§ãããããããã¯ãåããŠãããã«ééãããŠãŒã¶ãŒã«ãšã£ãŠã€ãŸããã«ãªããŸãã
ç§ã¯ããã«åæããŸãã ããã¯éåžžã«ãŸãã«ããçºçããªãã®ã§ãæ§æãã³ã³ãã¯ãã§ãªãããšã«ç°è«ã¯ãããŸããã ç§ã¯ãããããåŒãšãã¿ãŒã³ã®äž¡æ¹ã«ãããå æ¬çãã€æä»çãªç¯å²ãèšè¿°ããããã«ããã€ãã®ã¡ã«ããºã ãæã£ãŠãããšæããŸãã
ããšãã°ãå æ¬çç¯å²ãã¿ãŒã³ãäœæããããã«ãã¯ããªã©ãå¿ èŠãªå Žåã§ãããŸããŸããã
@joshtriplettããªãããããèšããšããããã¯ç§ãæ¬åœã«æ確ã«ããããšããã§ãïŒ
ããŸããŸãªæç¹ã§æä»çç¯å²ãšå æ¬çç¯å²ã®äž¡æ¹ãå¿ èŠã§ããããšãããããŸããïŒãã ããå®å®ããRustã§äœæ¥ããã«ã¯äž¡æ¹ã®å Žåã«æä»çã䜿çšããäžéã+1ã«ããŠåé¿ããå¿ èŠããããŸããïŒã
ããªããè¡šçŸã«ã€ããŠè©±ããŠããããšã¯æããã§ãããããªããåŒçšããã»ã¯ã·ã§ã³ã¯ãã¿ãŒã³ã«ã€ããŠã§ããïŒããªãã次ã®æ®µèœã§ãã¿ãŒã³ã«ã€ããŠè©±ããŠããããšã¯ç¥ã£ãŠããŸããããã®æ®µèœãæ±ã£ãŠããªããå¿ èŠæ§ãã®åé¡ã«ã€ããŠå°ããŠããŸãðïŒ ã
ãã¿ãŒã³ã®çŸç¶ã¯ã x...y
圢åŒã®å
æ¬çç¯å²ãã¿ãŒã³ã®ã¿ããµããŒãããŠãããšããããšã§ãã æä»çãªç¯å²ãã¿ãŒã³ãæ¬åœã«æ¬²æ±äžæºã§ããããšãããã£ãå Žå/ãã€ãããã«ã€ããŠãã£ãšè©±ãããšãã§ããŸããïŒ
@withoutboats
æä»çãªç¯å²ãã¿ãŒã³ãæ¬åœã«æ¬²æ±äžæºã§ããããšãããã£ãå Žå/ãã€ãããã«ã€ããŠãã£ãšè©±ãããšãã§ããŸããïŒ
äœãã®ãããªãã®
match offset {
0x0200 .. 0x0280 => { /* GICD_ISPENDR<n> */ }
0x0280 .. 0x0300 => { /* GICD_ICPENDR<n> */ }
0x0300 .. 0x0380 => { /* GICD_ISACTIVER<n> */ }
0x0380 .. 0x0400 => { /* GICD_ICACTIVER<n> */ }
0x0400 .. 0x0800 => { /* GICD_IPRIORITYR<n> */ }
}
vs
match offset {
0x0200 ... 0x027C => { /* GICD_ISPENDR<n> */ }
0x0280 ... 0x02FC => { /* GICD_ICPENDR<n> */ }
0x0300 ... 0x037C => { /* GICD_ISACTIVER<n> */ }
0x0380 ... 0x03FC => { /* GICD_ICACTIVER<n> */ }
0x0400 ... 0x07FC => { /* GICD_IPRIORITYR<n> */ }
}
ç¹ã«ã€ã©ã€ã©ãããšã¯èšããŸããããæåã®æ¹ã確ãã«èŠæ ããããŸãã
@withoutboatsããããããããããã«ãããŸããŸãªæç¹ã§ãæä»çç¯å²åŒãå
æ¬çç¯å²åŒãããã³å
æ¬çç¯å²ãã¿ãŒã³ãå¿
èŠã§ããã æä»çãªã¬ã³ãžãã¿ãŒã³ãæã£ãŠããããšã«æ·±ãæ°ãé
ã£ãŠããæ代ãæããšã©ãŸãããããšã¯ã§ããŸãããããããã«ãå察ã¯ããŸããã ãã ããæä»çãªç¯å²ãã¿ãŒã³ããªãå Žåã§ããå
æ¬çç¯å²ãã¿ãŒã³ã§...
ã䜿çšããæä»çç¯å²åŒã§..
䜿çšãããšãéåžžã«æ··ä¹±ããŸãã
@petrochenkovç§ã¯ããããF
ã§ã¯ãªãC
F
ã§çµããããšãæå³ããŠãããšæããŸããïŒ
0x8000...0x9FFF => /* body */
16é²ç¯å²ãã¿ãŒã³ã§åãã±ãŒã¹ã«ééããŸããã 0x8000..0xA000
ã¯ãå°ãçŽæçãªããããã£ãããããšãããããŸãããããšãã°ãããã«ã€ããŠèããå¿
èŠããªãå Žåãç¯å²ã®ãµã€ãºã0xA000 - 0x8000 = 0x2000
ããã次ã®é£æ¥ããç¯å²ã0xA000
ããå§ãŸãããšãããã«ããããŸãã
ãããã®äºå®ãå
æ¬çç¯å²ã§ç¢ºèªããããã«å¿
èŠãª+1
察åŠããããšã¯ãç§ãçããããšãã§ããå°ããªéãã§ãããæä»çç¯å²ïŒãã¿ãŒã³ãšè¡šçŸã®äž¡æ¹ïŒã¯éåžžãç§ã®ä»äºã«ããé©ããŠããŸãã
@petrochenkovãªãããªãã16é²æ°ã®æä»çç¯å²ã奜ãã®ããããããŸãïŒç§ã¯ãŸã ããã§ã¯ãªããããããŸããããããã¯éåžžã«YMMVã®ååŒã®ããã«æããŸãïŒã
ããããã¹ã©ã€ã¹æ§æã®ãããŸãããã©ã®ããã«åŠçããŸããïŒ
@joshtriplett
å æ¬çç¯å²ãã¿ãŒã³ã
...
ã䜿çšããæä»çç¯å²åŒã..
䜿çšããå Žåãããã§ãéåžžã«æ··ä¹±ããŸãã
ãããRustã®ä»æ¥ã®ä»çµã¿ã§ããã倧ããªæ··ä¹±ã®åå ã§ã¯ãªãããã«æãããŸããïŒ
@solson
ãããã¯Cã§ã¯ãªãFã§çµããããšãæå³ããŠãããšæããŸããïŒ
çªå· ïŒïŒ
ïŒãããã¯32ãããã§ã offset
ã¯4ã®åæ°ã§ããïŒ
@withoutboats
ãªãããªãã16é²æ°ã®æä»çç¯å²ã奜ãã®ããããããŸãïŒç§ã¯ãŸã ããã§ã¯ãªããããããŸããããããã¯éåžžã«YMMVã®ååŒã®ããã«æããŸãïŒã
泚æããå¿ èŠããããŸãããããã¯åŒ·ã奜ã¿ã§ã¯ãããŸãããæä»çãã¿ãŒã³ãšå æ¬çç¯å²ã®äž¡æ¹ãåé€ããŠãåé¡ãããŸããïŒãã ãããã®ãã¡ã®1ã€ã§ã¯ãªããã°ãããããŸãïŒã
ããããã¹ã©ã€ã¹æ§æã®ãããŸãããã©ã®ããã«åŠçããŸããïŒ
ç°¡åã«ïŒ PATTERN..
=> .. @ PATTERN
å æ¬çç¯å²ãåçŽã«ãããäž»ãªçç±ã¯ãå€æ°ã§åæ¢å€ãæž¡ãç¶æ³ã«äœåºŠãééããããšã§ããããã¯ã1ã€ã®å€æ°ã¿ã€ããä¿æã§ããæ倧å€ã§ãããããå¯äžã®è§£æ±ºçã§ããã³ã³ãã€ã«æã«ãªãŒããŒãããŒãé€å€ããã«ã¯ã次ã®ããã«ããŸãã
+ 1
åã®ã¢ãããã£ã¹ãïŒç§ã¯ãŸã u64
ã«åå ããŠãããããšã¬ã¬ã³ãã§ã¯ãªããšä»®å®ããŸãïŒåºæã®ç®çããªãã¢ã«ãŽãªãºã ã«+ 1
ãè¿œå ããã®ã§ã¯ãªããå
æ¬çç¯å²ã䜿çšããç¿æ
£ãæ§ç¯ããããšã¯ãåŸã§cargo fuzz
åã³ééããã®ãé²ãããã®éèŠãªæ¹æ³ã§ã... + 1
ãããååã«å€ãã®æåãå«ãŸãããæä»çããå
æ¬çãé¢æ°ã¯ãå
æ¬çç¯å²ã¯ãç¿æ
£çã«äœ¿çšããå¿
èŠããããã®ã§ã¯ãªããäŸå€çãªãã®ã§ãããšããå°è±¡ãäžããŸãã
ãããç§ãå察ããæ倧ã®çç±ã®1ã€ã§ãã ããã¯ãå æ¬çç¯å²ãããã¯ã§ãããæä»çç¯å²ã倱æããããšãå®èšŒãããå Žåã«äœ¿çšããããšããå°è±¡ãäŒããŸãã
@ssokolowã§ããããã®ãŠãŒã¹ã±ãŒã¹ã¯ãã¬ãªã¥ãŒãé¢æ°ã§å¿«é©ã«ã«ããŒãããŠããŸãã å æ¬çç¯å²ãäœæããããšã¯äžå¯èœã§ãããšããç«å Žããšã£ãŠãã人ã¯èª°ãããŸãããããããäœæããããã®æ§æç³è¡£ãå¿ èŠãã©ããã ãã§ãã
ãã¬ãªã¥ãŒãé¢æ°ã®@withoutboatsã®ã¢ã€ãã¢ã奜ã
@withoutboatsããªããå¿çããŠããéãç§ã¯èªåã®æçš¿ã«ããªãã®+ 1
ãè¿œå ãããããé·ãæ§æã§ïŒå
æ¬çç¯å²ãäºçŽåžæ°ã«ããããšã§ãïŒããããã䜿çšããããšã«å¯Ÿãã埮åŠãªèœèã®ããã«æãããåŸã§cargo fuzz
ã§ãäŒãããŸãããããšãããããã¬ã³ã®å¯èœæ§ããããŸãã
ä»ã«äœããªããšããŠããããã¯æããããã®ç£èŽ ã§ãã
Rustã¯Python3.xã§ã¯ãªããç¡å¶éã®æŽæ°ããµããŒãããŠããŸãã Rustã¯ãããŒããŠã§ã¢ã®ãã¬ãŒããªãããŠãŒã¶ãŒããé ããŸãããç§ã奜ã..=
ã¯ã int
代ããã«u32
ãšãã®å人ã䜿çšããããšã®äžéšãšããŠèŠãŠããŸãã ïŒç¹ã«ããªãŒããŒãããŒ/ã¢ã³ããŒãããŒãšã©ãŒãcargo fuzz
ã®ããããã£ãŒã±ãŒã¹ãã§æãäžè¬çãªãã®ã§ããããšãèãããšãïŒ
ç·šéïŒãã®ããã®é»åã¡ãŒã«éç¥ã«ã®ã¿è¡šç€ºããããããã¯ç¡èŠããŠãã ããã ç®ãèŠããã°ããã§ããŸã ãã¹ãŠã®ã·ãªã³ããŒã§çºç ²ããŠããŸããã
inclusive(n..m)
ãèœèãšã¯ãŸã£ããæã£ãŠããŸãã... n..(m + 1)
ãšn..=m
äž¡æ¹ãããã³ãŒããèªã¿ãããããéåžžã«æ確ãªæ§é ã§ããããããããæžããããšæããŸãã
n..=m
ã¯ã inclusive(n..m)
IMOãããæè²æ§ã®ç£èŽ
ã§ãã
äžèŽãããã«ã¯ãç¹å®ã®ã¿ã€ãã®ãã¿ãŒã³ã§ã¯ãªããæ°å€ç¯å²ãå®å šã«ã«ããŒããããšããèŠæããããšæããŸãã
ããããããåããç¶è¡ãæ§æãããã°ãåé¡ã解決ããã§ãããã
ãšããã§ãæåã®ãã¿ãŒã³ã®ã¿ãäžèŽãããããéå§çªå·ã¯çç¥ã§ããããšããããããŸãã
match offset {
0 ... 0x01FF => {}
0 ... 0x027C => { /* GICD_ISPENDR<n> */ }
0 ... 0x02FC => { /* GICD_ICPENDR<n> */ }
0 ... 0x037C => { /* GICD_ISACTIVER<n> */ }
0 ... 0x03FC => { /* GICD_ICACTIVER<n> */ }
0 ... 0x07FC => { /* GICD_IPRIORITYR<n> */ }
}
ç§ã¯ãããèŠç¹ã®åé¡ãããããªãããšãèªããŸãããããïŒ
..
ãš..=
ãèŠããšãããããšããªããããªã«å°ããªéãã§2ã€ã®æ§æãããã®ã ãããããšæãã®ã§ãçŠç¹ãåœãŠãããšãã§ããããã¥ã¡ã³ããæ¢ãã«è¡ãããšã«ãªããŸãã " 1..pivot
ããã³pivot..end
"察 " x..=y
ããã§y
ã¯å¯èœãªæ倧å€ã§ããå¯èœæ§ããããŸã"ã
å¯å€ãµã€ãºã®èŠ³ç¹ããç¿æ
£çã«èããã®ã«ååãªçµéšãç©ãåã¯ã inclusive()
ããã+ 1
ã䜿çšããŠããŸããïŒæ¢ããŠãããšããŠãïŒã + 1
å°åŠæ ¡ä»¥æ¥ãçããŠå
¥åããããã§ããç§ã®çµéšã®æµ
ãèªå·±ã¯ãPythonãJavaScriptã®ãããªèšèªã§ã®äœæ¥ã«æ
£ããŠãããå ç®ã«ãã£ãŠãªãŒããŒãããŒãçºçããããšã¯äººã
ãå¿é
ããããšã§ã¯ãããŸããã
ç·šéïŒ ...ãããŠãç§ãã¡ãçŠç¹ãåœãŠãã¹ãã ãšæãã®ã¯ããã€ã³ã1ã®æŠå¿µçãªéãã§ãã ïŒã€ãŸãããXãããããããžããšãXãããšã³ããžãã¯ããã°ã©ããŒã®å¿ã®äžã§åºå¥ãããã¹ãã§ããïŒ
@pornel
ããã¯ã²ã©ãã§ãð
ãã®ç¹å®ã®ã±ãŒã¹ã§ã¯ãç¯å²ã®éå§ã¯ãã³ãŒããèªã人ã«ãšã£ãŠæ¬åœã«éèŠã§ãããå
æ¬ç/æä»çãªç¯å²ã®åé¡ãããã¯ããã«éèŠã§ãã
@ssokolow +1
ãåé¡ã«ããŠããã®ã¯æåæ°ã§ã¯ãªãããªãŒããŒãããŒã®å¯èœæ§ãåŠçããå¿
èŠãããããã«æããŸãã ãŸããæå³ãäŒéãããåªå
é äœæ¬åŒ§ãã©ã³ã°ãªã³ã°ããå¿
èŠããããŸãã ãããã¯ãã¹ãŠãæåã®æ°ãããã¯ããã«éèŠã§ããããã«æãããŸãã
ãªãŒããŒãããŒã«ã€ããŠç¥ããªãæ¬åœã®äººã¯ãå
æ¬çç¯å²ãäœæããåã«+1
ã«å°éããå¯èœæ§ããããŸãããããã¯æ§æã«äŸåããŠããªãããã§ãã ..=
ãç©ã§ããã inclusive()
ãç©ã§ããããšã«æ°ä»ããšãå
æ¬çç¯å²ãç¹ã«å¿
èŠãªçç±ãåŠã¶ããã®æããããç¬éãçãŸããŸãã
@petrochenkov
æä»çãã¿ãŒã³ãšå æ¬çç¯å²ã®äž¡æ¹ãåé€ããŠãåé¡ãããŸããïŒãã ãããã®ãã¡ã®1ã€ã§ã¯ãªããã°ãããããŸãïŒ ã
ãªãããªããããã«ã€ããŠãšãŠã匷ãæããã®ãã«ã€ããŠè©³ããæããŠãã ããã æä»çãªãã¿ãŒã³ãåãå
¥ããããšã¯ããŠãŒã¶ãŒãåŒãšããŠ0...10
ãæåŸ
ããå¯èœæ§ããããšããæ¬ ç¹ãããã ãã ãšç¢ºä¿¡ããŠããŸãããç§ã«ãšã£ãŠã¯ããã»ã©
inclusive()
ã«é¢ããç§ã®åé¡ã®äžéšã¯ãããããåãªããé¢æ°ã§ãããRustæ§æã€ã³ããã¯ã¹ã«ç§»åãããç¯å²ããŸãã¯ãã€ãã¬ãŒã¿ããæ€çŽ¢ããŠãROIãäžååã§ãããšæ³å®ãããªã©ã®ããšã人ã
ãè¡ãã®ã§ã¯ãªãããšå¿é
ããŠããŸãã ãSee [ing] Iteratorsãã®å Žåã
ïŒãå¶ç¶ã«æç§æžãèªã¿ãããªãã®ã§ãäœã圹ã«ç«ã€ãã®ãèŠã€ãããŸãã..ç¯å²ãç¹°ãè¿ããŠãé²æ©ã«æ»ãããã ãã§ãããïŒ
@withoutboatså
æ¬çïŒa..bïŒãããããããããããã§äœ¿çšã§ããªãå ŽåãIMOã®äŸ¡å€ã¯ãããŸããã
å
æ¬çç¯å²ã䜿çšããŠããå Žåãã»ãšãã©ã®å ŽåãäžèŽãã¿ãŒã³ã«ãªã£ãŠããŸãã
ã§ã¯ããªã...
ãåé€ããŠãè©Šåã®å
å€ã§..=
䜿çšã§ããªãã®ã§ããããã
@Boscopã®ææ¡ã¯ãäžèŽãã...
ãåé€ããã®ã§ã¯ãªãããã¿ãŒã³ãå®å®ããç¶æ
ã®ãŸãŸã«ããããšã§ãã
@ssokolowã¯ã ..
ã»ã¯ã·ã§ã³ã®ã¡ã¢ã§ããªãç°¡åã«è§£æ±ºã§ããããã§ã
@withoutboatsãããããããã§...
ãåé€ãã代ããã«..=
䜿çšããŠãäžè²«æ§ãä¿ã€ã®ã¯ãªãã§ããïŒ
ïŒè©Šåã®å
å€ã§..=
ããã«ïŒ
æµ®åå°æ°ç¹ã®æ°å€ç¯å²ã«ãã¬ããžã«ã€ããŠã¯ãæä»çãã«ãã圹ç«ã¡ãŸãã ããšãã°ããããã®å¢çã®1ã€ã¯å®å šã«ã«ããŒãããŠããŸãããä»ã®å¢çã¯ã«ããŒãããŠããŸããã
match x {
0.0...3.141592653589792 => 1,
3.141592653589793...6.283185307179585 => 2,
6.283185307179586...10.0 => 3,
_ => 4,
}
ãããŠããªãŒããŒã©ããã§ãããæžãããšã¯ã代ããã«äžå¿«ã«æããŸãïŒãããŠãäžèšã®ãè ã泚æãããŠããã®ã§ããã¹ãŠã-âããå§ããããšé埳çã«äŒŒãŠããŸãïŒã 1æ¥ã¯[00ïŒ00ã23ïŒ59ïŒ59]ã§ã¯ãªã[00ïŒ00ã24ïŒ00ïŒã§ãããããISO8601ã§T24ïŒ00ãèš±å¯ãããæ¹æ³ãªã©ã®æ¥æãåç §ããŠãã ããã ãŸãã¯æååããŸãã¯æçæ°ããŸãã¯..ã
æä»çè«çåãŸãã¯å æ¬çè«çåã®éžæãèãããšãç§ã¯æ¯åæä»çè«çåãåããŸãã
ïŒäœè«ã§ãããã€ã³ããã¯ã¹äœæã®1 <= x <= N
ãã¿ãŒã³ã¯ãå®éã«ã¯0 < x <= N
ãšããŠå®è¡ããæ¹ãé©åã§ãããããæä»çã§ããããã€ã¯ã¹ãã©ãèšã£ãã®ãšåãçç±ã§ãååéããŠããã®ã§ã¯ãªãååéããŠããŸãã 0ããŒã¹ã§ã¯ãªã1ããŒã¹ã®ã€ã³ããã¯ã¹ã«åãæ¿ããŸãããïŒ
ãã®æŒç®åã¯ãç§ãããã§ææ¡ããã¯ã©ã³ãæ©èœã«éåžžã«åœ¹ç«ã¡ãŸããïŒ https ïŒ
0.0..1.0 + EPSILON
ãããæ£ãããã©ããããããããŸããããçŸæç¹ã§ã¯ãæµ®åå°æ°ç¹æ°ã®å æ¬çç¯å²ã宣èšããããšã¯éåžžã«å°é£ã§ãã
ãããè¡ãæ£ããæ¹æ³nextafter
ãã€ãã·ãã³ã§ã¯ãªãã x...y == x..nextafter(y)
ã ieee754ã¯ã¬ãŒãã¯ãã®ãããªæ©èœãå
¬éã
ãã£ãšãç§ã¯inclusive(a..b)
æ§æã«ã€ããŠã³ã¡ã³ãããŸãããããããçå®ã§ã¯ãªãããšã«æ°ã¥ããŸããã ãšã«ãããç§ã¯ããã奜ãã§ããããã£ãšè¯ãååãèªè»¢è»ã«ä¹ããããšãã§ãããšããã®ã§ããã
@durkaååã¯ç§ã«ã¯æãããªããã§ãã ããã«ã€ããŠã®æžå¿µã«ã€ããŠè©³ãã説æããŠããã ããŸããïŒ
ã ãããå
æ¬çãªç¯å²ã«ã€ããŠã¯ãæã
ã¯æã£ãŠããã§ãããa ... b
ã§match
ãšinclusive(a..b)
è©Šåã®å€ïŒ
äžè²«æ§ãä¿ã¡ãã©ãã«ã§ãa ..= b
ãèšå®ã§ããªãã®ã¯ãªãã§ããïŒ
ops::{RangeInclusive, RangeToInclusive}
ãæ£åŒã«å®å®ããã®ã劚ãããã®ã¯ãããŸããïŒ
ä»ã®ãšãããäž»èŠãªãããã«ãŒã¯æ§æã«é¢ããè°è«ã®ããã§ããããã®è°è«ã«é¢ä¿ãªããæçµçãªæ§æãäœã§ãããã«é¢ä¿ãªããå æ¬çç¯å²ãååšãããšç¢ºä¿¡ããŠããŸãã
å®å®ããã©ã€ãã©ãªãå®è£ ããããã«ãããã®ã¿ã€ãããããšäŸ¿å©ã§ããããããã°ããããã®ã©ã€ãã©ãªã®å©çšè ã¯ãç¹å¥ãªæ§æã䜿çšãããå Žåã«æ©èœãã©ã°ãæå¹ã«ããããšã決å®ã§ããŸãã
å
æ¥RangeInclusive
ã«ã€ããŠæ°ä»ããããšããããŸããç¯å²ãåãå
¥ããããšããŠããå Žåãã³ãŒãã£ã³ã°ããã®ã¯é¢åã§ãã ã¯ã©ã³ãã¹ã¬ããã¯.clamp(1...9)
èš±å¯ããããšã«ã€ããŠè©±ããŠããŸããããã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
fn clamp(self, r: RangeInclusive<Self>) -> Self where Self : Sized {
match r {
RangeInclusive::Empty { .. } =>
panic!("Cannot clamp to an empty range"),
RangeInclusive::NonEmpty { start, end } => {
assert!(start <= end, "Cannot clamp to a degenerate range");
if self < start { start }
else if self > end { end }
else { self }
}
}
}
RangeInclusive::Empty
ãåŠçããå¿
èŠãããã®ã¯ãé©åãªæ§æã§ãã¢ãåãå
¥ããããšã ããç®çã§ãããããäžèŠã ãšæããŸãã åæåã§ãªãå Žåã¯ã fn clamp(self, RangeInclusive { start, end }: RangeInclusive<Self>)
ã§ãããã¯ããã«ã¯ãªãŒã³ã§ããå¯èœæ§ããããŸãã
æ®å¿µãªãããç§ã¯ããã«ã€ããŠäœããã¹ããã«ã€ããŠè¯ãçããæã£ãŠããŸããããªããªããå æ¬çã§ãããæä»çã§ã¯ãªã.into_iterïŒïŒãèŠæ±ããããšãæ®å¿µãªããšã§ã...
ã©ã³ãã ãªã¢ã€ãã¢ïŒ ...
ãã¿ãŒã³æ§æãå
æ¬çç¯å²ã¿ã€ãã«å®éã«é¢é£ããŠããªãããšã確èªãããšãããã§ææ¡ãããŠãã...
ãšã¯ç¡é¢ä¿ã®æ§æãåªå
ããŠããã®æ§æãéæšå¥šã«ããããšãæ€èšã§ããŸãã
å
æ¬çç¯å²ãã¿ãŒã³ã¯|
ãã¿ãŒã³ãšããå¯æ¥ã«é¢é£ããŠããããã |...
ãé©åãªåè£ã«ãªãå¯èœæ§ããããŸãã
match {
1 | 2 | 3 => ...
1 |... 3 => ...
}
æçµçãªçµæãšããŠãå æ¬çããã³æä»çç¯å²æ§æã¯ããã¿ãŒã³ãããã³ã°ãš1ïŒ1ã®é¢ä¿ããªããªããäžè²«æ§ãä¿ã€å¿ èŠããªããªããŸãã
@scottmcm
æ®å¿µãªãããç§ã¯ããã«ã€ããŠäœããã¹ããã«ã€ããŠè¯ãçããæã£ãŠããŸããããªããªããå æ¬çã§ãããæä»çã§ã¯ãªã.into_iterïŒïŒãèŠæ±ããããšãæ®å¿µãªããšã§ã...
ãã¶ãã空ã®ç¯å²ã§ãããã¯ã«ãªãããã¢ãè¿ãrange.nonempty()
ãããªãã«ããŒãè¿œå ã§ããŸããïŒ
ãŸãã¯ã RangeInclusive
ã«å¯ŸããŠIntoIterator
ãå®è£
ããããšãã§ããŸãããIMHOããããã»ã©é ãã¯ãããŸããã
RangeInclusive :: Emptyã¯ã©ã®ãããªãŠãŒã¹ã±ãŒã¹ãæäŸããŸããïŒ å æ¬çç¯å²ã«ç©ºã®ç¯å²ãè¡šãæ©èœãå¿ èŠãªã®ã¯ãªãã§ããïŒ ã©ã®ããã«æžããŸããïŒ ïŒã5ãã4ãŸã§ã®ç¯å²ãã®ãããªãã®ããã§ã«æžãããšãã§ããããšã«æ³šæããŠãã ããããã®å埩ã¯ãããã空ãšããŠæ±ãããŸããïŒ
@joshtriplettã¡ã€ã³ã±ãŒã¹ã¯ãªãŒããŒãããŒã§ããããã®åé¡ã解決ããæ¹æ³ã¯ããã€ããããŸãã
@joshtriplett start > end
ã¯ã1ã€ã®éèŠãªã±ãŒã¹ã 0u8...255u8
ã空ã®å
æ¬çç¯å²ãè¡šãããã«å®éã«ã¯æ©èœããŸããã ããªãããããã255u8...255u8
ãšããŠã¿ãŠãã ãã.next()
ããã¯ãã©ã¡ãã®ãããã¯ãã©ããã«ãªãã ãã0u8...255u8
空ã§ã¯ãããŸãããã ãã®ä»£ããã«ããã®æç¹ã§Empty
ããªã¢ã³ãã«åãæ¿ããŸãã
@solsonããããªãã»ã©ã ãããããã¯èŠçã§ãããããŠãã
ïŒããããã¹ãŠã®å Žåã§255u8
ãæå³ãããšä»®å®ããŸããïŒ
ïŒããããã¹ãŠã®å Žåã§255u8ãæå³ãããšæããŸããïŒ
ãããããããšãã ç·šéããŸããã
@solsonãã ãããã®å Žåã¯ã0ãš255ã亀æããããšã§ä¿®æ£ã§ããŸãã
@clarcharrããã§ããã .next()
åžžã«Empty
ç¯å²ã®çæãç¹æ®ãªã±ãŒã¹ã«ããå¿
èŠãããããã空ãšããŠæ±ãããç¯å²ãåžžã«çæããå¯èœæ§ããããŸãã
å人çã«ã¯ã空ã®ç¯å²ãå«ãŸããŠããªãã®ã§ããã®æ¹æ³ã®æ¹ã奜ãã§ãã
ãããã£ãŠããã®ã¹ã¬ããã¯1幎åç¶ããŠããŸãã ç§ã¯ããããã¹ãŠèªã¿çµãââããšããã§ããæ°åè ã®ããã«ç°¡æœãªèŠçŽãæçš¿ããããŸãããã°ç§ãã¡ã決å®ãäžãã®ãæäŒããããšæããŸãã
Rust Stableãä»æ¥è¡ãããšïŒ
0..5
ã¯ããã¿ãŒã³ãããã³ã°ã§äœ¿çšã§ããªãããŒããªãŒãã³ç¯å²[0ã1ã2ã3ã4]ãè¡šããŸã
0...5
ã¯ããã¿ãŒã³ãããã³ã°ã§ã®ã¿äœ¿çšã§ããéç¯å²[0ã1ã2ã3ã4ã5]ãè¡šããŸãã
ãã¿ãŒã³ãããã³ã°ä»¥å€ã§äœ¿çšã§ããè¿œå ã®éç¯å²æ§æã«ã€ããŠã¯ãããã€ãã®åœ¢åŒãææ¡ãããŠããŸãã ãããããšãã®é·æãšçæã«ã€ããŠèª¬æããŸãã
0...5
é·æïŒæ¢åã®ãã¿ãŒã³ãããã³ã°æ§æãšäžè²«æ§ãããããã¿ãŒã³ãããã³ã°æ§æã«å€æŽãå ããããŠããªãããšãåæãšããŠãèšèªã®ãŸãšãŸããæããããŸãã
çæïŒã¿ã€ããã¹ãçºçããããã1ã€ã®ãšã©ãŒãåå ã§çºçããŸãããŸãããã®æŒç®åã䜿çšããŠããŸããŸãªæŠå¿µãäŒéããä»ã®èšèªãåå ã§ãæå³ã誀解ãããããªããŸãã
0..=5
é·æïŒã¿ã€ããã¹ãããé£ãããæå³çã«æ確
çæïŒæ¢åã®ãã¿ãŒã³ãããã³ã°æ§æãšççŸããŠããŸãã ãŠãŒã¶ãŒã«è³ªåããããå¯èœæ§ããããŸãïŒãªãããã¯...ããã§ãã.. =ããã§ããïŒ
0..^5
..=
éåžžã«ãã䌌ãŠããŸãããã¹ãä¹æŒç®åã®ããã«èŠãããšããç¹ã§è¿œå ã®æ¬ ç¹ããããŸãã
inclusive(0..5)
é·æïŒæå³çã«éåžžã«æ確ã§ãã ã¿ã€ããã¹ã¯ãããŸããã
çæïŒã¡ãã£ãšé·ãã§ãã ãŸãããã¿ãŒã³ãããã³ã°æ§æãšççŸããŠããŸãã
0....5
é·æïŒ ...
ã®ã¿ã€ããã¹ã®åé¡ãåé¿ããŸã
çæïŒã»ãã³ãã£ã¯ã¹ãäžååã§ããã¿ãŒã³ãããã³ã°æ§æãšççŸãããã¿ãŒã³ãããã³ã°æ§æã«äŒŒãŠããŸãã
[0..5]
䜿çšã§ããŸããã æ¬åŒ§ã¯ãèšèªã«ãããŠãã§ã«æ§æäžã®éèŠæ§ãæã£ãŠããŸãã
0..<=5
䜿çšã§ããŸããã å€ãç¯å²ãšæ¯èŒããããã®æ¢åã®æ§æãšç«¶åããŸãã
ããã¿ãŒã³ãããã³ã°æ§æãšççŸããããšããæ¬ ç¹ãæã€ãªã¹ãããããã¹ãŠã®ãªãã·ã§ã³ã¯ããã¿ãŒã³ãããã³ã°æ§æãå€æŽããå Žåã«æ¹åãããå¯èœæ§ããããŸããããã®ã«ãŒãã«ã¯äžäœäºææ§ã®åé¡ããããŸãã ãŸãã¯ãäžäœäºææ§ãæãªãããšãé¿ããããã«ããã¿ãŒã³ãããã³ã°å
ã§...
ãšïŒããã§æ§æãéžæïŒãåçã«ããããšãã§ããŸããããã¿ãŒã³ãããã³ã°ä»¥å€ã§ã®...
ã®äœ¿çšãé²ããŸãã ãããããã¹ã¿ã€ã«ã¬ã€ããæŽæ°ããŠããã®ã«ãŒãããã©ãå Žåã«ãã¿ãŒã³ãããã³ã°ã§...
ã䜿çšããªãããã«ããããšãã§ããŸãã
äžéãšäžéã®äž¡æ¹ãå æ¬çãŸãã¯æä»çã«ããããšãã§ãããããæ±çšçãªç¯å²æ§æãäœæããããšã«ã€ããŠãããã€ãã®è°è«ããããŸããããååéããç¯å²ãšéããç¯å²ãã«ããŒããå¯èœæ§ãããããããããããã®æ§æã¯å¿ èŠãããŸãããŠãŒã¹ã±ãŒã¹ã®99.9999ïŒ ã
ç§ã¯ãã®è°è«ãã§ããéãè¡šçŸããããšããŸããã ç§ãããªãã®äž»åŒµãé©åã«è¡šçŸããªãã£ããšæããããç§ã«ç¥ãããŠãã ãããç§ã¯ãããæŽæ°ããããšãã§ããŸãã
@Xaeroxeãã°ãããèŠçŽãããããšãã
ãããããããã決å®ããããšãã«ãæ°ããæ§æïŒããšãã°ã ..=
ïŒã«ãã¿ãŒã³ãããã³ã°ã§...
ã䜿çšããããšãããœãŒã¹ãèªåå€æããããŒã«ïŒããããrustfmtã®ãã©ã°ã€ã³ïŒãæã€ããšãå¯èœã§ãã
ããããã°ããå€ãæ¹æ³ã§æžããããã¹ãŠã®ã³ãŒããã«ãšããããããšã¯ãããŸããã
ãã ãããããžã§ã¯ãã®äœæè
ã®æå³ãæã£ãŠåŒã³åºãå¿
èŠãããããã¹ãŠã®éã³ãåªäœã«éç¥/èŠåºããä»ããŠãå
šå¡ãå€æŽãèªèã§ããããã«ããå¿
èŠããããŸãã
ãããã®ããšã§ããã¿ãŒã³ãããã³ã°ã®...
æ§æãæ°ããæ§æã«å€æŽããããšã¯åé¡ãªããšæããŸãã
@clarcharrãææ¡ããããã«ãæ§æã®åé¡ãåé¿ããããã«ã§ããããšã®1ã€ã¯ã
inclusive
é¢æ°ãè¿œå ããããšãã§ããŸãïŒ std::range
ã ãã«ããŸãã¯å Žåã«ãã£ãŠã¯ãã¬ãªã¥ãŒãã«ãïŒã ããã¯ããã€ããã¡ãŒã¹ãã¯ã©ã¹ã®æ§æãæã€ããšãæé€ãããã®ã§ã¯ãããŸããããä»ããRangeInclusiveãæ§ç¯ããæ¹ãã¯ããã«äŸ¿å©ã§ãã
ãã ãããããã¯ãã¹ãŠlibsã®æ±ºå®ã®ããã«èŠãããããlangããŒã ããããã®ã¢ã€ãã ãå®å®å/è¿œå ããããšã決å®ãã管èœæš©ãæã£ãŠãããã©ããã¯ããããŸããð ã
ç§ã¯å人çã«å€æããããšã奜ãã ããRangeInclusive
æã£ãŠããªãäœãã«èªåèªèº«ãEmpty
è¡ãããã®åŸãããªã¢ã³ããIntoIter
ããªã¢ã³ããæã£ãŠããŸãã Empty { at }
ãæåã§äœ¿çšããã«ç©ºã®ç¯å²ãäœæããããšã¯æ¬è³ªçã«äžå¯èœã§ããããšãèãããšãç§ã«ã¯ãã£ãšçã«ããªã£ãŠããŸãã
ãŸãã¯ãåè¿°ã®ã¯ã³ãšããžã±ãŒã¹ã§MAX
ãšMIN
ã亀æããŸãã ãã®ããã RangeInclusive
ãå«ãããäžè¬çãªã³ãŒããæžãã®ã¯é£ãããªããŸãããåé¡ã«å¯Ÿããåççãªè§£æ±ºçã®ããã§ãã
äœãèµ·ãã£ãŠããæ§æã®åé¡ã«é¢ä¿ãªãååšããæšæºã©ã€ãã©ãªã®åãå®å®ãããããšã倧ãã«ãµããŒãããŠããŸãã ããã«ãããã©ã€ãã©ãªã¯ãå æ¬çç¯å²ã§ã®ã¹ã©ã€ã¹ãå¯èœã«ããå®å®ããã³ãŒããèšè¿°ã§ãããããæ§æãå®å®ãããŸã§ã«ã人ã ã¯åã䜿çšããã³ãŒãããã§ã«å®è£ ããŠããŸãã æ§æãšã¿ã€ãã¯ãçç±ã«ããç°ãªãæ©èœãã©ã°ã®äžã«ãããŸãã
@scottmcmãã®æç¹ã§ã¯ãããããå¥ã®ã¹ã¬ããã§ããå¿ èŠãããããšã«åæããŸãã
æ§æã®è°è«ãåé²ããç¶ããããã«ãç§ã¯ç§ãåãããã«ãŒããæäŸããã€ããã§ãã
ç§ã¯..=
æ§æãæã奜ããªã®ã§ããã®æ§æç³è¡£ããã¿ãŒã³ãããã³ã°ã§ã¯...
ãšçããããã¿ãŒã³ãããã³ã°ä»¥å€ã§ã¯InclusiveRangeãšããŠè¿œå ããå¿
èŠããããšæããŸãã 次ã«ãèšèªã®äžè²«æ§ãç¶æããããã«ãã¢ããŠã³ã¹ãšèªåããŒã«ã䜿çšããŠããŠãŒã¶ãŒãšãã®ã³ãŒãããã¿ãŒã³ã®..=
æ§æã«ç§»è¡ããŠã¿ãŠãã ããã ...
ããååãªæ°ã®ãŠãŒã¶ãŒã移è¡ãããšæããããã³ã³ãã€ã©ãŒèŠåã䜿çšããæçµçã«ïŒããããä»ããæ°å¹ŽåŸïŒã³ã³ãã€ã©ãŒãšã©ãŒã䜿çšããããšãã§ããŸãã
ç§ã®ææ¡ãåºãããŠãã24æ¥ãçµã¡ãŸããããã³ã¡ã³ãã¯ãããŸããã ãã®èšç»ãé²ããã¹ãã§ããããïŒ
ç·šéïŒã¢ãã€ã«ã§ã¯èŠªæãäžãã£ãŠããªãã®ã§ãå察æèŠãããããšã«æ°ã¥ããŸããã§ããã
@Xaeroxeããã¯æããŸããã ç§ã¯åäžããããšãåæããªã...
ã®è³æã§..=
ãç§ã¯ãã§ã«ãã®ã¹ã¬ããã«æçš¿ããŠããçç±ã®ããã«è¯ãéžæã§ãã åãã¢ã€ãã¢ããã§ã«ææ¡ãããè°è«ãããŠããã®ã§ãç§ã¯ããªãã®ç¹å®ã®ææ¡ã«çããŸããã§ããã ããã§æãããªã®ã¯ãã³ã³ã»ã³ãµã¹ããªãããšã ãã§ãã ç§ãã¡ã®å€ãã¯è°è«ã«ç²ããæããŠãããšæããŸãã
ç·šéïŒããå
·äœçã«ã¯ã ...
ãéæšå¥šã«ããŠã ..=
ãåªå
ããããããŸãããçç±ã¯æ¬¡ã®ãšããã§ãã
..=
ãäžçŸ©çã«æ°ã«å
¥ã£ããšããŠããstableã§å
æ¬çç¯å²åŒãååŸããã ãã§ã¯éæšå¥šãµã€ã¯ã«ã®äŸ¡å€ã¯ãªããšæããŸãã..=
奜ãã§ã¯ãããŸãããããã¯èªæã§ã¯ãªããäžæçã ãšæããŸãã ããã«ã¯ã1ã€ã®ãšã©ãŒãçºçããå¯èœæ§ãäœããšããå©ç¹ããããŸããããŠãŒã¶ãŒãåããŠãããèŠããšãèªåãäœãèŠãŠããã®ãããããããã§ã¯ãããŸãããïŒç§ã¯ãã®ã³ã¡ã³ãã®éã«å°ãæèŠãå€ããŸãããç§ã¯ä»ã®äººãç§ã®æèããã»ã¹ãšç§ãããçµè«ã«éããçç±ãèŠãããšãã§ããããã«ããããã¹ãŠæ®ãããšã«ããŸããïŒ
ãã®ãããªããšã«ã€ããŠã®çµéšãäžè¶³ããŠãããããéæšå¥šã®ã³ã¹ãã«ã€ããŠã¯ã³ã¡ã³ãã§ããŸããã ããããç§ã¯ãŸã ..=
ããµããŒãããŠããŸãã
ããæç¹ã§ããŠãŒã¶ãŒã«äœããåŠãã§ãããããšãããšããªãããã«ããå¿
èŠããããšæããŸãã ããã°ã©ãã³ã°ã¯å
šäœãšããŠåŠã¶ã¹ããã®ã§ãããäžè¬ã«ç¹æ®ãªæ§æã¯åžžã«ã»ãã³ãã£ã¯ã¹ã«ããããã®ã³ã¹ããããããŸãã ç§ã¯äººã
ãäžèŠæ§æãèªèããããšãæåŸ
ããŠããŸããã ..
ã¯ãã®ç¹ã§åãããã«æªãã§ãã
ãã ããç¹æ®ãªæ§æãå€ããããšãRustãæãã§ããèšèªãããbrainfuckã«è¿ãèšèªã«ãªãå¯èœæ§ããããŸãã ãããã£ãŠãç¹å¥ãªæ§æã«å€æããããšãéžæããã±ãŒã¹ã¯ãå®éã«ã¯ããã ãã®äŸ¡å€ãããã»ã©äžè¬çã§ããããšã«æ³šæããå¿ èŠããããŸãã æ£çŽã«èšããšããããå ¥åããã®ã§ããã®ã±ãŒã¹ããã®äŸ¡å€ããããã©ããã¯å®å šã«ã¯ããããŸããã å æ¬çç¯å²ã®å¿ èŠæ§ã¯ãæ§æãä¿èšŒããã»ã©é«ãã¯ãããŸããã
ããããççŸã¯ãŸã ç§ãæ©ãŸããŠããŸãã å
æ¬çé¢æ°ãšãã¿ãŒã³ãããã³ã°ã®...
ãæã€ããšã¯ãè±èªã§ç°è²ãšç°è²ã®äž¡æ¹ãæã£ãŠãããããªæãã§ãã ç§ãã¡ã®äžéšãç§ãã¡ããã¹ãã ãšæããŠããããšãæšæºåããæ©äŒããããšãã ãã ãããã®å€æŽãè¡ãéã«ã¯ãå®éã®ããžã¹ãã£ãã¯äžã®åé¡ããããŸãã Rust 2.0ãèšèšããå ŽåïŒããã¯éåžžèãããããŸããããç§ã«ã¯ããããŸããïŒããããåæ€èšããå¿
èŠããããããããŸããããä»ã®ãšãããã°ã¬ãŒãšã°ã¬ãŒã®äž¡æ¹ã§ååã ãšæããŸãã
çŸæç¹ã§ã¯ããã¿ãŒã³ãããã³ã°ä»¥å€ã®ã€ã³ã¹ã¿ã³ã¹ã«inclusive
é¢æ°ã䜿çšãããã¿ãŒã³ãããã³ã°ã«...
ã䜿çšããããšããµããŒãããŠããŸãã
@withoutboats
äœãéé£ããªããšãC ++ã®ãããªãã¹ãŠã®ïŒå€ããå°ãªããïŒæªã決å®ã®çµåã«ãªã£ãŠããŸããŸãã ããã¯ãç©äºãå¯èœãªéãäžè²«ããŠããªããããåå¿è
ã«ããã«å€ããåŠã¶ããšãäœåãªããããŸãã
ãããã£ãŠãããè¯ããœãªã¥ãŒã·ã§ã³ã«éãè²ãããã«éæšå¥šã«ããããšãçã«ããªã£ãŠããå ŽåããããŸãã
ããã¯ããŠãŒã¶ãŒãåããŠãããèŠããšãã«ãèªåãäœãèŠãŠããã®ããç¥ã£ãŠãããšããæå³ã§ã¯ãããŸããã
ããã¯ãã©ã®æ§æã«..=
ã ...
ãŸãã¯ãã®ä»ã®æ§æãå
æ¬çç¯å²ã«äœ¿çšããŠãå€æŽãããŸãããããšãã°ãä»ã®èšèªã¯æä»çç¯å²ã«...
ã䜿çšããããããšã«ããæ€çŽ¢ããå¿
èŠããããŸãã ã
æãããªå€èŠ³ã®æ©èœã®ã¿ãå°å
¥ããããšãç§ãã¡ã®ç®æšã§ã¯ãããŸããã
èŠãç®ãããããããæ©èœã ãã䜿çšãããå ŽåãRustã®æ¢åã®æ©èœã®ã»ãšãã©ã䜿çšããããšã¯ã§ããŸããã ããã¥ã¡ã³ããèŠãŠããåå¿è
ãšã«ãããäœãããã«ã€ããŠãšãŠãæªãã§ãã®ïŒ ããã¥ã¡ã³ãã¯è¯ãã§ãïŒ
@withoutboatsãèšã£ãããã«ãç§ãã¡ã®å€ãã¯ãã®è°è«ã«ããããããŠãããšæããŸãã ç§ã¯ãã°ããã®éããã座ã£ãŠããŸããã ããã¯èšã£ãŠããç§ã¯æéããããŠèªã¿çŽãïŒ@Xaeroxeã®èŠçŽã«æè¬ããŸãïŒïŒãããã§ç§ã®èããåæ€èšããŸããã
IMOãæãéèŠãªåé¡ã¯ãä»ç§ãã¡ãæäŸããæ§æã®äžå®å
šãªçµã¿åããã¯æ¬¡ã§ãã ...
ãã¿ãŒã³ã§ã ..
åŒã®ã ãã®æ§æã®ãã¢ã¯ã ..
ããã¿ãŒã³ã§æ©èœãã ...
ãåŒã§æ©èœããããšã匷ãæåŸ
ããŸãããæ©èœããŸããã ããã¯é·æçã«ã¯æç¶å¯èœãªèšèšã§ã¯ãªããšæããŸãã®ã§ãæ¬åœã«ä¿®æ£ããããšæããŸãã
ãŸããäž¡æ¹ã®çš®é¡ã®ç¯å²ã®æ§æãæäŸããããšãèãããšããããããããç¶ç¶ããã®ãæåã ãšæããŸãã ããã¯ç§ãã¡ã«ããã€ãã®ãªãã·ã§ã³ãæ®ããŸãïŒ
åŒã®...
ãå®å®ããããã¿ãŒã³ã«..
ãè¿œå ããŸãã ããã¯æãèŠçã®å°ãªãå€æŽã§ããããªããã€ã¯ã³ãšã©ãŒã«é¢ããããè°è«ãããæ¬ ç¹ããããŸãã ããã§ããä»ã®èšèªã«ã¯ãã®çµã¿åããããããç§ã®ç¥ãéãããã®ãããªãšã©ãŒã§ã²ã©ãèŠããããšã¯ãããŸããã
ãã¿ãŒã³ãšåŒã§...
ãå»æ¢ããäž¡æ¹ã«..=
ãè¿œå ãããã¿ãŒã³ã«..
ãè¿œå ããŸãã äžèšã®æ¬ ç¹ã解決ããïŒéæšå¥šã®ããã«ïŒããèŠçã«ãªããå°æ¥çã«ã¯ä»ã®çš®é¡ã®ç¯å²ïŒå·Šéå®ãªã©ïŒãžã®æãéããŸãã
ãã®æç¹ã§ãç§ã¯äž»ã«è°è«ãåããã·ã¥ããŠããŸããæ£çŽãªãšããããã®æç¹ã§ãã以äžèšãããšã¯ãªããšæããŸãã ç§ãã¡ã¯ãã¬ãŒããªããæããã«ãããšæããŸããè©äŸ¡ãè¡ã£ãŠæ±ºå®ãäžãã«ã¯ãlangããŒã ãå¿
èŠã§ãã ããããç§ã®ã³ã¡ã³ãã®äž»ãªç®çã¯ãããã§inclusive
è¿œå ããã ãã§ã¯äžååãªçç±ãIMOïŒã«ã€ããŠã®æåã®ãã€ã³ãã§ãã
ããã§ããä»ã®èšèªã«ã¯ãã®çµã¿åããããããç§ã®ç¥ãéãããã®ãããªãšã©ãŒã§ã²ã©ãèŠããããšã¯ãããŸããã
ããã§éžæãã€ã¢ã¹ãæ°ã«ãªããŸãã åé¡ã軜埮ãªãã®ãªã®ãããããšããã£ãã«æ°ä»ããªãã®ããå€æããä¿¡é Œã§ããæ¹æ³ã¯ãããŸããã
ãŸãã ...
ã䜿çšãããšãRustã®èšèšå²åŠãšæ°ããªãã¹ããã©ã¯ãã£ã¹ã®ããã¬ãŒããªããå³ããããªãéãããããã¬ã³ãé¿ããããšããåŽé¢ã«åããããã«æããŸãã ïŒããšãã°ã bool
ã䜿çšããã®ã§ã¯ãªããæ°ããenum
ã¿ã€ããäœæããããšããå§ãããŸããããã«ãããé¢æ°ãã©ã¡ãŒã¿ãŒãæ··åãã«ãããªããŸããïŒ
ããšãã°ãCã¯ãèšèªã«while let
ããªãå Žåã if
ã¹ããŒãã¡ã³ãã§ã®å²ãåœãŠã圹ç«ã€ããšã蚌æããŸãããã ==
ãæå³ãããšãã«=
ãšå
¥åããããš==
ã¯ååãªãããã¬ã³ã§ãããPythonã®ãããªèšèªã¯ãå¯äžã®éžæè¢ãç¹åŸŽçã«éãç¶æ³ãååšããå Žåã§ãããããæåŠããŸãã
éã«èšãã°ã1é±éã»ã©åã«ã³ãŒãã£ã³ã°ã«ç²ããŠãããšãã«ãå®éã«Clippyã«ãã®ãããªã±ãŒã¹ããã£ãããããŸãã...
foo == bar; // This should be `foo = bar;`
...ããã§å¿é
ããŠãããããŒãäœåºŠãæŒããããšããééãã®å®ç§ãªäŸã®ããã§ã...ãããŠã ==
ã¯å¹æããªãããšã¯ç°ãªãã ..
察...
ãªã³ãããè¯ãæ¹æ³ã¯ãããŸããã
@ssokolowæ確ã«ããããã«ãç§ã..=
倧äžå€«ã§ãã éæšå¥šã¯ããã»ã©èŠçã§ã¯ãªããšæããŸããããã¯éåžžã«ç°¡åãªèªåä¿®æ£ã§ãã ã»ãšãã©ã®å Žåããã®åé¡ã解決ãããã ãã§ãã
ç§ã¯ãããã..
/ ...
ãå®å®ãããŠçããããšãã§ããŸãïŒããã¯ãã§ã«æ¯æ©å®è£
ãããŠããŸãïŒã ç§ã¯@aturonã«åæããŸããååšããèšèªã¯ããããæ©èœããããšã瀺åããŠããŸãã
ç§ãèšã£ãããã«ãç§ã¯rust-lang / rfcsïŒ1980ãééãããšãã«ãæ§æã®è°è«ãå¿ èŠãšããã«libstdåãå®å®ãããããšæã£ãŠããŸãã
@aturonãææããããšã«
ç§ã¯langããŒã ã®è°è«ã«åæåããŸãã ãã®æç¹ã§ãå€§å¹ ã«æ°ããã¢ã€ãã¢ããã¬ãŒããªããçºçããå¯èœæ§ã¯éåžžã«äœããšæããŸãã æ瀺ããããã¬ãŒããªãã«ã€ããŠæ±ºå®ãäžãå¿ èŠããããŸãã
2017幎5æ18æ¥åå9ïŒ55ïŒ30PDTãã¢ãŒãã³ãã¥ãŒãã³[email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ç§ã¯langããŒã ã®è°è«ã«åæåããŸãã ããããããªããšæããŸã
ããã«ãããå€§å¹ ã«æ°ããã¢ã€ãã¢ããã¬ãŒããªããçºçããŸãã
ç¹ã ãããŸã§ã®ãã¬ãŒããªãã«ã€ããŠæ±ºå®ãäžãå¿ èŠããããŸã
ã¬ã€ã¢ãŠãã
äŒè°ã®ãããæ¥é±ã®äŒè°ã«åºãããäºå®ã§ãã ãããæ¥é±ã®äŒè°ã§è°è«ãããå Žå...
ã ..=
ã inclusive
ã ...
以å€ã®ãœãªã¥ãŒã·ã§ã³ã«å¯ŸãããµããŒããè¡šæããŸãã
ããã«ããéãrest / spreadæ§æã«ã€ããŠè°è«ãã䟡å€ããããŸãã
ç§ã¯..
ãæä»çç¯å²ã«ã ...
ãå
æ¬çã«ã ....
ãæ®ã/æ¡æ£ã«æ祚ããŸãã
take_range(..max); // exclusive range
take_range(...max); // inclusive range
take_multiple_args(....tuple); // spread
if let 0..10 = get_num() {} // exclusive range pattern
if let 0...9 = get_num() {} // inclusive range pattern
if let [first, ....rest] = get_slice() {} // rest pattern
次ã®2ã€ã®çç±ãããæ®ãã®ã¹ã©ã€ã¹ã«...
ãæ祚ããŸãã
人ã
ã¯ãCoffeeScriptïŒCoffeeScriptã¯varargsã®é¢æ°çœ²åã§rest...
ã䜿çšãããããããã¹ãã©ããããšåŒã³ãŸãïŒãè±èªïŒæ£ããUnicodeã䜿çšïŒãªã©ã®èšèªããã®ãäŒæ¯ããæå³ãã...
ã«ãã§ã«ç²ŸéããŠããå¯èœæ§ããããŸãã³ãŒããã€ã³ãã§ããããšãªããããšãããã¯4ã€ã§ã¯ãªããçç¥èšå·ã®ããã«èŠãã3ã€ã®æéã§ããã人ã
ã¯ãçŽç²ã«ããã«ééããããšãããè±èªã§ããã£ãšãããŸãããç§ãã¡ã¯ããã倧声ã§èšã£ãŠããŸããããæå³ããããã«çç¥èšå·ãç解ãããšãããŸãšããªä»äºãããŸã䜿çšäžã§ãïŒ
Rustã®æ§æã«ã€ããŠäœãã足ããªãå Žåãé€ããŠãç¯å²ã«..
ãš..=
ã䜿çšããŸãããæ®ãã®ã¹ã©ã€ã¹ã«...
ã䜿çšãããšããã¹ãŠã®ç¶æ³ã§...
ãšå
¥åããããšã«ãªããŸãã ..
ãæå³ããå ŽåããŸãã¯ãã®éã®å Žåã§ããã³ã³ãã€ã«æãšã©ãŒã«ãªããŸãã
ãã®ããã«ãç§ã¯2ã€ã®ä»®å®ã«åºã¥ããŠæäœããŠããŸãã
ïŒã·ãŒã±ã³ã¹ã¢ã³ããã¯ã³ã³ããã¹ãã®å€ã§ïŒRESTæ§æã®ã¿ã䜿çšããããšã¯ãã¿ã€ããã¹ãçºçããããno-opãšããŠèš±å¯ãããŸããã ïŒã€ãŸããèš±å¯ãããŠããå Žåã for _ in ...rest
ã¯for _ in rest
ãšåãã«ãªããŸãããã»ãŒééããªãã¿ã€ããã¹ã§ãã
å²ãåœãŠããããã¿ãŒã³ãšããŠèªç±åœ¢åŒã®ç¯å²ã䜿çšããããšã¯ç¡å¹ã«ãªããŸãã ïŒã€ãŸãã let [first, ..rest] =
ã¯ç¡å¹ã«ãªããŸããïŒ
@ssokolowããªãã«ãããã¯ãã§ã«ãã¿ãŒã³ã®ç¯å²ãæå³ããŠãããããæ®ãã®æ§æã«å€æŽããããã®
@phauxãã€ã³ãã ã©ããããããå¿ããŠããŸããŸããã
ããããããããç§ãã¡ãRust2.0ãäœã£ããããšããã¿ã°ãã¶ãäžããããã®äœãã
ããªãã«ãããã¯ãã§ã«ãã¿ãŒã³ã®ç¯å²ãæå³ããŠããã®ã§ããããæ®ãã®æ§æã«å€æŽããããã®é倧ãªå€æŽã«ãªããŸãã
ãã ãããã¿ãŒã³ã®...
ã¯ãäž¡åŽã«åŒãå¿
èŠã§ãïŒ a...b
ïŒããæ®ãã®æ§æã§ã¯ãã¬ãã£ãã¯ã¹ãšããŠ...
ã䜿çšããŸãã
langããŒã ã¯ãä»æ¥ã®äŒè°ã§ãã®æ©èœã«ã€ããŠå床話ãåãããããã次ã®ãããªãã¯ã¹ã«å°éããŸããã
ãã¿ãŒã³ã§...
ããµããŒãããåŒã§..
ããµããŒãããã ãã§ãä»ã«ã¯äœãã§ããŸããã ããã«ããããŠãŒã¶ãŒã¯æ§æãæ©èœããªãããšãæåŸ
ããããã«ãªããŸãã
äž¡æ¹ã®å Žæã§...
ãš..
ãèš±å¯ããããšã¯åœ¹ã«ç«ã¡ãŸããããªããã€ã¯ã³ã®åé¡ã¯æ¬åœã®æžå¿µäºé
ã§ãã ç§ãã¡ã®èª°ããã誀ã£ãæéã远跡ããã®ã«äœæéãè²»ãããŠãã人ã
ã®å ±åãåãåãããã£ãŠããŸããã
..=
ãš..
移åãããšãèŠãç®ã¯ããŸãé
åçã§ã¯ãããŸããããäžèšã®éåžžã«çŸå®çãªåé¡ãåé¿ã§ããŸãã éåžžã«ç©ãããªæ¹æ³ã§å±éããããšãã§ããŸããæåã«ä»£æ¿æ§æãšããŠ..=
ãå°å
¥ãïŒrustfmtã¯ããã«æžãæããããšãã§ããŸãïŒãæ
£çšçã«ãªã£ãåŸã§ã®ã¿...
å»æ¢ããŸãã
ããããªãå Žåã¯ãããŒã ã¯..=
ãš..
ãæåã®éã ãšæããŠããŸãã ãã®åé¡ã¯ãæ°ããè°è«ãæèµ·ãããå¯èœæ§ãéåžžã«äœããšããç¹ã§ãè°è«ãããŠããã®ã§ãæãåã£ãŠæºåãã§ããŠããŸããäž¡æ¹ã«..=
è¡šèšãå®è£
ããã人ãæ¢ããŠããŸããã¿ãŒã³ãšè¡šçŸããããŠç¶ããŠFCPã«è¡ããŸãïŒ
ãã®ããã«ãå®è£ ãæšé²ããŠããã人ïŒãŸãã¯äœäººãã®äººïŒãæ¢ããŠããŸãã ãããããããã¯ããã€ãã®å°ããªPRã§è¡ãããšãã§ããŸãã
..=
ã...
ãšã€ãªã¢ã¹ãšããŠããŒãµãŒã«è¿œå ããæ¢åã®ãã¹ããå€æããŠã¿ãŸãããã...
ã¯æ©èœãç¶ããã¯ãã§ãããããããµã€ã¬ã³ãããªéæšå¥šã«ãããã®ã§ãèŠåãªã©ãçºè¡ããå¿
èŠã¯ãããŸããïŒãŸã ïŒã...
ãã¿ãŒã³ã§ãã¹ããç¶ããå¿
èŠããããŸãDotDotEquals
ããŒã¯ã³ïŒããã¯æ¢åã®DotDotDot
ïŒãè¿œå ããŠã¬ã¯ãµãŒãå€æŽãããŒãµãŒãå€æŽãDotDotEquals
ãåãå
¥ããããšã ãšæããŸãã DotDotDot
åãå
¥ããããã«ãªããŸããïŒäŸïŒripgrep DotDotDot
ã¯ããã®ããªãã®åéã§ã;ïŒ...
ã¯æ±ºããŠå®å®ããŠããªãã£ãã®ã§ãããã..=
ããŠãå€ããµããŒããåé€ããããšãã§ããŸãå®è£
æã«ãæ§æextern fn foo(a: u32, ...)
ã..=
å€æŽããªãã§ãã ããð
ã³ãŒããžã®è¯ãæåã®ã¹ãããã®ããã«èŠããã®ã§ããããåããããªããŸãããã次ã®2é±éã¯ããŸãæéããªãã®ã§ã誰ãããããæã«å ¥ãããå Žåã¯ããæ°è»œã«ïŒ
ç§ã¯è³æã§å人çã«ãã£ãšã..^
ãã..=
ãšããŠã a operator= b
ãããã€ãã®æŒç®åã®ããã«ããã§ã«ã®å¥åã§ããa = a operator b
ã ^
ã¯ãXORã«å¯ŸããŠã®ã¿äœ¿çšãããããšãã¯ããã«å°ãªããããæ··ä¹±ãå°ãªããªãã¯ãã§ãã
..
ã¯ããã®å·Šå³ã®ãªãã©ã³ãã®ã¿ã€ããšã¯ç°ãªãã¿ã€ããçæããããã ..=
åé¡ã§ãããšã¯æãããŸããã ã³ã³ããã¹ãã¯ãæŒç®åã®ç®çãèå¥ããã®ã«ã圹ç«ã¡ãŸããããšãã°ã +=
ã¯()
è¿ããããéåžžã¯ç¬èªã®è¡ã«ç¬èªã®ã¹ããŒãã¡ã³ããšããŠè¡šç€ºã§ããŸãã ..=
ã¯InclusiveRangeãè¿ããããä»ã®åœä»€å
ã®åŒãšããŠè¡šç€ºãããŸãã ããã«ãåè¿°ã®ããã«ã ..^
ã¯ãç¯å²ãããã¹ãä¹ã«é¢ä¿ããŠããããã«èŠããŸãã
@Xaeroxe ^
ã¯ãã¹ãä¹ãšRustãšã¯é¢ä¿ãããŸãããïŒä»ã®èšèªã§ã¯ãã®ãŸãŸäœ¿çšãããŸãïŒã +=
ã -=
ã *=
ãã¹ãŠRustã«ååšããŸãã å®éã ^=
ååšããŸãã
ããããidkã ..=
ãããã®ã¯åé¡ãããŸããã
ïŒ42134ãããŒãžãããã®ã§ãã©ã€ãã©ãªæ§é äœãå®å®ãããããã«ç§»åã§ããŸããïŒ æ§æãå®å®ããã®ãåŸ ã£ãŠããå®å®ãããããšæããŸãããåã«è¿°ã¹ãããã«ãæ§é äœãããæ©ãå®å®ããããšäŸ¿å©ã§ãã
@clarcharrãã®æ§é ãš..=
æ§æãå®å®ããããšãã決å®ã«è³ã£ããšæãã®ã§ãå®éã«ãããè¡ãã«ã¯ããã€ãã®PRãå¿
èŠã§ãã
ç·šéïŒãããŒç§ã¯ééã£ãŠããã ã³ã³ãã€ã©ã«å®è£ ããŠããã®ã§ãæ§æãå®å®ãããã«ã¯ãæçµã³ã¡ã³ãæéãçµéããã®ãåŸ ã€å¿ èŠããããŸãã çŸæç¹ã§ã¯æ§é ãå®å®ãããå¿ èŠããããšæããŸããããããç§ã®æ±ºæã§ã¯ãããŸããã
...
ãã³ã³ã»ã³ãµã¹ãäœã£ãŠããããã«æãããšããç§ã¯ãã£ãšåã«äž»é¡ã«åŸãã®ããããŸããã ..=
ã¯äžèŠææ
ã®ããã«èŠããã®ã§ãç§ã«ã¯ããã¡ãªãèŠããŸãã
ãããããã£ãšéèŠãªã®ã¯ããã®ãã€ã¯ã·ã§ãã£ã³ã°ãçŸåšã®ãã¿ãŒã³æ§æãå€æŽããã»ã©éèŠã§ã¯ãªããšæãããšã§ãã
ãã®æ§æã¯ææªã§ãïŒ
= + =ã-=ã* =ã¢ãã«ã§ããå²ãåœãŠã®æå³ããããŸããã.. =ã¯äœããååŸããããšã§ãã ãšãŠãæ··ä¹±ããŠéãã
é
åã€ã³ããã¯ã¹ã0ããå§ãŸãããã«ãã...ãã¯çŸãããŠçŸããã人ã
ã¯ããã«æ
£ããã§ãããã
@zengsai
..=
ã¯ãæŠå¿µçã«ã¯==
ã<=
ãªã©ã®æŒç®åãã掟çããŸãããããã®æŒç®åã¯ãRustã«ãã§ã«ååšãã代å
¥ã§ã¯ãªãç䟡æ¯èŒã瀺ããŸãã
ïŒã€ãŸãã 1..=5
㯠"Range over values 1 <= x <= 5
"ã®çç¥åœ¢ã§ããã 1..5
㯠"Range over values 1 <= x < 5
"ãæå³ããŸãïŒ
ç·šéïŒãŸããããã¯ãããã«æ £ãããããšã®åé¡ã§ã¯ãããŸãããããã¯ããªããç²ããŠãããæ°ãæ£ã£ãŠãããšãã«èªã¿ééãããã¿ã€ããééãããããã®ãããé£ããåé¡ã§ãã ãã®ãããªãªããã€ã¯ã³ãšã©ãŒã¯ãæåãªãããã¬ã³ã§ãã
ãã§ã«..
ãæå³ããŠããã®ã«ãå®éã«èª€ã£ãŠ...
å
¥åããŠããŸããŸããã ãããããããšã«ãç§ã¯åžžã«å®å®ããRustãã¿ãŒã²ããã«ããŠããã®ã§ãã³ã³ãã€ã©ãŒãããããã£ããããŸããã ïŒããããç§ã¯ãã³ãã£ã¯ã·ã§ã³ã®å·çãããããããŠããã®ã§ãç䌌çç¥èšå·ãå
¥åããããšæã£ãã®ã§ããããçèã®ãããããªã®ãçèã®èšæ¶ãªã®ãæãåºããŸãããïŒ
@zengsai ...
ã¯åŸ®åŠãããŠã ..
ã«äŒŒãããŠããŸã
èšèªãç°ãªãããšãæå³ããç°ãªãæ°ã®ããããæã€ããšã¯æ¬åœã«ç°åžžã§ã
ãããã¬ã³ãåãå€ãããšã¯ã審çŸçã«é åçã§ãããããéèŠã§ãã
æ°èŠåå ¥è ïŒããã¯éåžžã«é·ãã¹ã¬ããã§ãããããTL; DRãäœæããŸããã ããã§èªãããšãã§ããŸãïŒ https ïŒ
ããã®ãããªãªããã€ã¯ã³ãšã©ãŒã¯æåãªãããã¬ã³ã§ãããšèšãã°ãç§ã¯èšããªããã°ãªããŸãããã¿ã€ããã¹ã®åé¡ã¯ããã®å€æŽã®äž»ãªçç±ãšããŠäœ¿çšãããã¹ãã§ã¯ãããŸããã
ãã®æ¯èŒãã..ããšã...ããšã=ããšã==ããèŠãŠãã ãããããã¯ããŠãŒã¶ãŒã®ã¿ã€ããã¹ã®åé¡ãåé¿ããããã«ãã==ãã®ä»ã®æ§æãèŠã€ããå¿ èŠãããããšãæå³ããŸããïŒ ã=ããšã==ãã§åé¡ãªãå Žåããªãã..ããšã...ããã§ããªãã®ã§ããïŒ
ç§ã¯2幎以äžrust-langããã©ããŒããŠããŸãã antããã¯ç§ã®ãã©ã€ããŒããããžã§ã¯ãã®å€ãã§äœ¿çšãããŸããã ç§ã¯ããã倧奜ãã§ããããã®æ§æã¯æ¬åœã«ç§ãäžå¿«ã«æããããŸãã èŠãç®ã«çŸããã ãã§ãªããã³ãŒãã®èªã¿æžãã®æµæ¢ãã«ã圱é¿ããŸãã
@zengsaiã¯ãäž»ã«ã³ãŒãã_æžã_ãšãã§ã¯ãªããã³ãŒãã確èªãèªã¿åããç解ãããšãã®ããšã ãšç解ããŠããŸããã ..
ãæ¢ããŠããªãå Žåã¯ã ...
ã¯1ã€ãã€ãšã©ãŒã«ãªããŸããã ..=
ééããªãç®ç«ã¡ãåã¡ãŸããã®åé¡ã¯ãããŸããã
çŸç芳ç¹ããã..=
æ§æã奜ããã©ããã¯ããããŸãããã ..
ãš...
ã©ã¡ãããæ¥ãŠããã®ãã¯éåžžã«ãã䌌ãŠããŸãã
@zengsai =
vs. ==
ã¯ã ..
vs. ...
ã§ã¯å©çšã§ããªããœãªã¥ãŒã·ã§ã³ãããããã§ãã
ãã¡ãããCèšèªã§ã¯=
ãš==
ãæ··åããå¯èœæ§ããããŸã...ããããããã¯èªèãããŠãããããã¬ã³ã§ãããPythonãRustãªã©ã®ããçŸä»£çãªèšèªã¯æ¬¡ã®ããšã解決ããŸããã
if x = y
ã§ã¯ãªãif x == y
ïŒããã¯éãPythonãäœã£ãä¿®æ£ã§ãïŒx == y;
ã§ã¯ãªãx = y;
ãç§ã¯å¹æããããŸããè¡šçŸã«ã€ããŠã®èŠåãåããŸããã..
ãš...
æ··åãæªããããšã¯
@zengsai ..
ãš...
ã¯ããã¹ãŠåãç¹æ§ãå®è£
ããæ¬è³ªçã«äº€æå¯èœã«äœ¿çšã§ããåã«è©äŸ¡ãããŸãïŒããã¯ä»æ§ã«ãããã®ã§ãïŒã 1ã€ã®ãšã©ãŒã«ãããªãã¯éåžžã«çŸå®çãªåé¡ã§ãã
ç§ããã®æ§æãå«ããªããšãæ確ã«ããŠããããã®ã§ã @ aturonã®ã³ã¡ã³ãã«åæããŸãããçŸåšã®ç¶æ³ã§ã¯ã ..
ãšåŒããã³...
ããŠããŸãããã¿ãŒã³ã¯ãåãå
¥ããããªããã§ãã å®éããã®æ§æã䜿çšããããããåæããæ¹ãæãŸãããšæããŸãã
ããããããã«ã€ããŠã¯ã³ã³ã»ã³ãµã¹ãåŸãããªãããšããã®ã¹ã¬ããã§æ°ããè°è«ããªãããšãç©æ¥µçã«æè³ããŠãããŠãŒã¶ãŒã®å€§å€æ°ïŒããã³èšèªããŒã ã®æ®ãã®éšåïŒããã®å€æŽãæ¯æããŠããããšã¯æããã§ãã ã ããç§ã¯èã«ç«ã£ãŠããã®ã§ãåé¡ã解決ããããšãã§ããŸãã
ç§ã®çµéšã§ã¯ãã»ãšãã©ã®ãŠãŒã¹ã±ãŒã¹ã§ãã®æ©èœãå®éã«å¿ èŠã«ãªãããšã¯ãªãã®ã§ãã³ãŒãå šäœã«è¡šç€ºãããããšã¯ãããŸããã
å®éãç§ã¯ãŸã ãã¿ãŒã³ã§...
ãå»æ¢ããããšã«æ¬åœã«äžæºãæã£ãŠãããåºæ¬çã«ã¯ãã®åé¡ã解決ã§ããããã«æ¯ãé£ããã°ãã€ããã§ãã langããŒã å
šäœãã ..
ãš...
äž¡æ¹ã®åŒã䜿çšããããšã¯ã²ã©ãç£èŽ
ã§ãããäžéšã®ãŠãŒã¶ãŒã¯å®å
šã«ãµã€ã¬ã³ããªã¿ã€ããã¹ã®åé¡ã®ãããã°ã«äœæéãè²»ããããšã«åæããŸãã
æ®ãã®langããŒã ã¯ãè¡šçŸãšãã¿ãŒã³ã®éã«æ絶ãããããšã¯å®¹èªã§ããªããšåŒ·ãæããŠããŸããç§ã¯åæããŸããããç§ãã¡ã¯çãè°è«ãããŸãããæ°žé ã«è çç¶æ ã«ããããšã¯å¥åº·çã§ã¯ãªããšæããŸãã
@ssokolowç³ãèš³ãããŸããããç§ã¯ãŸã ããªãã«åæããããšã¯ã§ããŸããã ã³ã³ãã€ã©ã¯ãã®çš®ã®ã¿ã€ããã¹ãèŠåããããšãã§ããŸããããx = 6ãã§ããã¯ãã®å Žæã«ãx = 5ããšå ¥åãããšã©ããªããŸããïŒ
ã³ã³ãã€ã©ã¯ã¿ã€ããã¹ãé¿ããã®ã«æé©ãªãã®ã§ã¯ãããŸãããããã°ã©ããŒã¯ããã§ãã
ãã®å€æŽã«å¯äœçšããªããã°ãç§ã¯å®å šã«åæããŸãã ããããããã«ãããèšèªã®çŸçæèŠãèªã¿æžãã®æµæ¢ãã倱ãããŸããããã¯ãç§ã®å人çãªæèŠã§ã¯äŸ¡å€ããããŸããã
ä»æ¥ã®ãã³ã¯ãã§ã«èªã¿æžãã®åé¡ã«çŽé¢ããŠããŸããããäžè¬çã§çŽæã«åããæ§æã§ããã»ã©ãåŠç¿æ²ç·ã倧ãããªããå¥ã®Perlã«ããªãã§ãã ããã
@withoutboatsç§ãã¡ã¯ããã«ã€ããŠè°è«ããŸãã
@zengsai
確ãã«ãã¬ãŒããªãããããŸããããããã®éã®æè¯ã®ãã©ã³ã¹ãã€ã³ãã«ã€ããŠã¯æ±ºããŠåæã§ããªããšããå°è±¡ãåããŸãã
å人çãªå¥œã¿ã«é¢ä¿ãªããç§ã¯..=
ãããã°ã远跡ããããã«éåžžã«å€ãã®æéã浪費ããå¯èœæ§ãããããšãåé¿ããããã«æ¯æãå°ããªäŸ¡æ Œã ãšèããŠããŸãã
ïŒç§ã®çŠç¹ã¯UI / UXãã¶ã€ã³ã§ããã圌ããæããŠãããæ倧ã®ã«ãŒã«ã®1ã€ã¯ãééããç¯ããããããããšã¯ããããåŒãèµ·ãã害ãä¿®æ£ãŸã§ã®æéã«åæ¯äŸããããšãç®æãã¹ãã ãšããããšã§ãã ïŒã
ç§ã®å°ããªæèŠã§ã¯ã 5
察6
ã¯ã ..
察...
ãããã¯ããã«ãããããããªã£ãŠããŸãã
@zengsaiãã®äŒè©±ã®ããã ãã«ããããã®ã¡ãŒã«ãåãåã£ãŠããŸãããããªãã®æ°æã¡ãããããè¡šçŸããããã«éã³ãIRCãã£ã³ãã«ã«ç§»åããŠã¿ãŸãããïŒ
@daiheitanããã¯éåžžã®éä¿¡ã§ããæ°ã«å ¥ããªãå Žåã¯ããã®ã¡ãŒã«ã®
Rustãæåã«èŠããšãã ..
æ§æã«æ¬åœã«é©ããŠããŸããã (1..10).sum()
ã¯... 1ãã9ãŸã§ã®æŽæ°ã®åèšã§ããïŒ ãã®æ§æãæ°åè
ã«æ瀺ããŠããããäœãæå³ããã®ããå°ãããšã圌ã¯ããã1ãã10ã«ãªãããšãæåŸ
ããå¯èœæ§ãéåžžã«é«ããªããŸãã察称æ§æã察称ãè¡šçŸããããšãæåŸ
ããã®ã§ã圌ã¯ããããã®ãæ£ããã§ããããç¯å²ã ãªã1ãå«ããå¿
èŠããããŸããã10ãå«ããå¿
èŠã¯ãããŸãããïŒ
察称ç¯å²ã«å¥ã®é察称圢åŒ..=
ãè¿œå ãããšãããã¯ããã«èŠèŠçã«äžè²«æ§ããªããªããŸãã å·ŠåŽãå
æ¬çã§ããããã«=
ãå¿
èŠãšããªãçç±ãçåã«æããããããŸããããããã£ãŠãäž¡åŽã®å
æ¬çç¯å²ã®å Žåã¯=..=
ã«ãªããŸãã
ãããªäœãã¹ãŠã£ããã®æ§æïŒ ..<
æä»çã®ããã®...
蟌ã¿çšïŒãããã®åé¡ãåé¿ããèªã¿ããããåäžãããã§ãããã èšèªã«ãŸã£ããæ
£ããŠããªãå Žåã§ããæå³ãæ£ããæšæž¬ããã®ã¯ç°¡åãªã®ã§ãèŠããŠããã¹ãããšã1ã€å°ãªããªããŸãã ç¹ã«Rustã®æ°åè
ãžã®é
æ
®ãèãããšããã®ãããªãã®ãéžã°ããããšãæåŸ
ããŠããŸããã
@rkarpããçšåºŠãããã¯ããããæ¢åã®ãã€ã¢ã¹ã«ãããã®ã§ãã
ããšãã°ãRustã«ã¯å€ãã®Pythonã®åœ±é¿ããããPythonã¯åãçš®é¡ã®ããŒããªãŒãã³ç¯å²ã䜿çšããŸãã ïŒã€ãŸããPythonã®range(1, 5)
ãŸãã¯myList[1:5]
ã©ã¡ããRustã®1..5
ãšåãåäœãããŸãïŒ
Pythonã§ã®ãã®æ£åœæ§ã¯ãæ§æã1ã€ãããªãããšã«é¢ä¿ããŠãããæ§æãååéããŠããããã head, tail = myList[:pivot], mylist[pivot:]
ãããªããšãç°¡åã«ãªããŸããã
ãšã¯ãããRustã1.0ãééããããšãèãããšãæ¢åã®ã³ãŒããå£ããªãããšã«ã€ããŠã¯ããªãå³æ Œãªã«ãŒã«ããããŸãã ..
æä»çãªãã¿ãŒã³ã®å€åŽãšã®ããã®...
æä»çãªå
éšã®ãã¿ãŒã³ã®ããã«ã¯æå¹ãªãŸãŸã«ããå¿
èŠããããŸãã
..=
ã¯ãã©ãã§ã..
ïŒæä»çïŒãš..=
ïŒå
æ¬çïŒãåãå
¥ãã ...
ã..
éæšå¥šã®å矩èªãšããŠæ±ãããšãã§ããããæ©èœããŸããã¿ãŒã³ã§ã
..=
ãããŒã¯ã³ãšããŠæã€ããšã¯ããã¯ãã®:tt
ã«ãŒã«ã«åœ±é¿ãäžãããããæè¡çã«äºææ§ã®ãªãå€æŽã§ãã ããããåé¡ã¯ãªãã§ãããããéããªå€åã§ããå¯èœæ§ãããããšãèæ
®ããŠã誰ãããããè¡ããªããã©ããã確èªããããšããå§ãããŸãã ïŒå¥ã®æ¹æ³ã¯.. /* why not */ =
èš±å¯ããããšã§ãããããã¯è¯ãèãã§ã¯ãªããšæããŸãïŒ
@ssokolowæè¡çã«ã¯ã解æãšã©ãŒã§ã¯ãªããRustã®ã¿ã€ããšã©ãŒã§ãã a = 2
ã¯()
ãè¿ãåŒã§ããã if
ã¯bool
äºæããŠãããããæããã«äºææ§ããããŸããã
ã«ãŒã«ã¯ãã£ãããšå€åããŠããŸãã æè¡çã«ã¯ã ..=
ã¯3ã€ã®ããŒã¯ã³ã§ãããæåã®2ã€ã«ã¯ã¹ããŒã¹ããããŸããã
@eddyb ïŒ
ãã®ã³ãŒãã¯çŸåšããã«ãŒã«2ããšãã«ãŒã«4ããå ±åããŠããŸãã ãã®å€æŽã¯ãæ£ããç解ããã°ãã«ãŒã«2ããšãã«ãŒã«5ãã«å€æŽãããŸãã
macro_rules! ex {
( . . ) => { "Rule 1: . ." };
( .. ) => { "Rule 2: .."};
{ . . = } => { "Rule 3: . . = " };
{ .. = } => { "Rule 4: .. = " };
{ ..= } => { "Rule 5: ..=" };
}
macro_rules! show {
( $($t:tt)* ) => { println!("{}", ex!($($t)*)) };
}
fn main() {
show!(..);
show!(..=);
}
ããããããŒã¯ã³ã®å®çŸ©æ¹æ³ã®å€æŽã§ãã @jseyfriedã¯ãçµæãããé©åã«èª¬æã§ããŸãã
æè¡çã«ã¯ãããã¯Rustã®ã¿ã€ããšã©ãŒã§ããã解æãšã©ãŒã§ã¯ãããŸããã a = 2ã¯ïŒïŒãè¿ãåŒã§ãããboolãæåŸ ããå Žåã¯ãæããã«äºææ§ããããŸããã
@xfixããããšãã ååãã®ã¿ã€ããã¹ããããšãã¯ãé©åãªæ³šæãæã£ãŠããŸããã§ããããåŒæåèšèªã®èŠ³ç¹ããèããããšã«ãŸã å®å šã«ã¯æ £ããŠããŸããã
ã³ã¡ã³ãã調æŽããŸããã
ç§ã¯..=
æ§æã奜ãã§ã¯ãªãããã¿ãŒã³ã§...
ãéæšå¥šã«ããããšã«å察ããŠããŸãã ã¿ã€ããã¹ãå¿é
ãªå Žåã¯ãçç¥åœ¢ãšããŠ...
ã..=
ã§ã¯ãªããåžžã«æ§é äœRangeInclusive { start, end }
䜿çšã§ããŸãã
ç§ãæ°ä»ããæœåšçãªãããŸããïŒ
if let 5..=x { ... }
@clarcharrã³ã³ãã€ã«ãããŠããªãããã§ãã
rustc 1.17.0 (56124baa9 2017-04-24)
error: unexpected token: `=`
--> <anon>:3:13
|
3 | if let 5..=x {
| ^^
error: aborting due to previous error
@clarcharr @kennytm
..=
ã1ã€ã®æŒç®åãšããŠå°å
¥ãããšããšã©ãŒã¯æ¬¡ã®ããã«ãªããŸãã
error: expected one of `::` or `=`, found `{`
--> <anon>:3:13
|
3 | if let 5..=x {
| ^
error: aborting due to previous error
ä»ãšåãããã«let x=10; if let 5..x {}
ãããã£ãŠããã®ããããŸãããã¯ã³ã³ãã€ã«ãããããããã£ãŠif let 5..x {}
以äžã®ãããŸããã«ã¯ãªããŸããã
@BoscopèŠç¹ã¯ãçŸåšã 5..
ãSome(5)
ãããªãã¿ãŒã³ãšããŠæ±ãå Žåã if let 5.. = x
ã¯let Some(5) = x
ã«äŒŒãŠãããåŸè
ã¯ã³ã³ãã€ã«ãããŸãã ç§ã®ã³ã¡ã³ãã瀺ããã®5..
ãã¿ãŒã³ã§ã¯ãªãã®ã§ãäºææ§ã®å±éºããããŸããããif let
å°å
¥ããããã«..=
ã
ãã®æ©èœãå°å
¥ãããã¿ãŒã³ã§..=
ãš..
äž¡æ¹ãèš±å¯ããå Žåã if let 5..=x
ã¯åžžã«if let 5.. = x
ãããã³ã³ãã€ã«ããå¿
èŠããããŸãïŒ if let (single expression)
ã¯æå³ããªããªãã®ã§ããããŸããã¯ãªããšæããŸãã
@kennytmãªã®ã§ã2ã€ã®ç°ãªããããŸããã«ã€ããŠãã³ã³ãã€ã«ãããªãããšã瀺ããŸããã ïŒåœŒãã©ã¡ããæå³ããã®ãã¯æ確ã§ã¯ãããŸããã§ãããã¡ãã£ãšãããŸãã§ããããïŒ
@daboross kennytmãèšã£ãããã«ã 5..
ã¯ãã¿ãŒã³ã§ã¯ãªããçŸåšã§ãã³ã³ãã€ã«ãããŸããã ãããŠãæŒç®åãšããŠ..=
ãè¿œå ããŠããããã¯å€ãããŸããã ãããŸããã¯ãããŸããã éèŠãªã®ã¯ã ..=
ã1ã€ã®æŒç®åãšããŠè§£æã§ããªãããã«ãªã£ãããšã§ããã1ã€ã®æŒç®åãšããŠè§£æã§ããã°ããããŸããã¯ãããŸããã
5..
ã¯çŸåšæå¹ãªãã¿ãŒã³ã§ã¯ãªããããŒãã¯ããŒãºãã€ã³ã¿ãŒãã«ãã¿ãŒã³ããããŸããã ãšã¯ãããããŒãã¯ããŒãºééãã¿ãŒã³ã®æ¬ åŠã¯ãç¯å²åŒãšæ¯èŒããå Žåã«äžæŽåã®åå ãšèŠãªãããããšãå€ãããã¿ãŒã³ã«ãå®è£
ãããå¯èœæ§ããããŸãã ãŸããå®å
šãªæŽæ°äžèŽãªã©ãåŸã§ãã¿ãŒã³ã®ééã®çåŽãçç¥ããæ©èœãè¿œå ããããšãã§ããŸãã
ãããã£ãŠã@ clarcharrã®èŠ³å¯ã¯ãçŸåšã®ææ³ãèæ
®ããå Žåã«å¿
ããããããŸãããææããŠããããã§ã¯ãããŸãããããã¿ãŒã³ã«..=
ã䜿çšãããšããææ¡ãšççŸããå¯èœæ§ã®ããå°æ¥ã®æ¡åŒµãèæ
®ããå Žåã¯ç¢ºãã«ãããŸãã§ãã
ãã®ããšã念é ã«çœ®ããŠãããã§ä»ã®èšå·ã䜿çšããããšããå§ãããŸãã ^
ã¯ãçŸåšIIRCã®åŒã³ã³ããã¹ãã§ã®ã¿äœ¿çšãããŠãããããç§ã«ã¯ããªãåé¡ãªãããã§ãã
ïŒããã¯ãæ§é äœãå®å®ãããããã«ç§»åããåŸã§æ§æãå®å®ãããããšããå§ããããã1ã€ã®çç±ã§ããïŒ
@nagisa RangeFromãã¿ãŒã³ããµããŒããããåã«ããŒã¯ã³..=
ãè¿œå ãããå Žåã if let
ã«é¢ãã競åã¯ãããŸããã x <- y
ïŒé
眮ïŒãšx < -y
ïŒ+è² æªæºïŒã®ããã«ã ..
ãš=
éã«ã¹ããŒã¹ãè¿œå ããŠææ§ãã解æ¶ããããšãã§ããŸãã
ïŒ ^
ã¯æä»çè«çåæŒç®åãªã®ã§ãå
æ¬çç¯å²ã«..^
ã䜿çšããã®
ç§ãæžããäœåãã®ç¯å²ã®äžã§ããããã®ããªãã®æ°ãå®å
šã«éããŠããããããã1ã€ã2ã€ã§ãééã£ãæ¹æ³ã§ååéããŠããŸãããè¿œå ã®æ§æã®å¿
èŠæ§ã¯ãŸã ããããŸããã 1..(n+1)
ãæžãã®ã¯ããã»ã©é£ããããšã§ã¯ãããŸããã
ããã¯ãend = T :: max_valueïŒïŒã§ã¯æ©èœããŸããã
2017幎5æ29æ¥16:33ããDiggoryHardyã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ç§ãæžããäœåãã®ç¯å²ã®äžã§ããããã®ããªãã®æ°ãå®å šã«éããŠããŸãã
ãã¶ã1ã€ã2ã€ã§ãééã£ãæ¹æ³ã§ååéããŠãç§ã¯ãŸã æ¬åœã«ããŸãã
è¿œå ã®æ§æã®å¿ èŠæ§ãåç §ããŠãã ããã 1 ..ïŒn + 1ïŒãæžãã®ã¯ããã»ã©é£ããããšã§ã¯ãããŸãããâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-304662258 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AApc0ipynL_qrZqUBldOJOX046RNY2H_ks5r-skwgaJpZM4F4LbW
ã
ç§ã¯.. =ãããååéããç¯å²ã§ã®æ¹æ³ã奜ã¿ãŸãã
2017幎5æ29æ¥16:35ããSimonasKazlauskasã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ããã¯ãend = T :: max_valueïŒïŒã§ã¯æ©èœããŸããã
2017幎5æ29æ¥16:33ããDiggoryHardyã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ç§ãæžããäœåãã®ç¯å²ã®äžã§ããããã®ããªãã®æ°ãå®å šã«
éãããå€å1ã€ã2ã€ã®ååéããééã£ãæ¹æ³ã§ãç§ã¯ãŸã ããŸãã
è¿œå ã®æ§æã®å¿ èŠæ§ãå®éã«ç¢ºèªããŠãã ããã 1 ..ïŒn + 1ïŒã¯ããã»ã©é£ãããããŸãã
æžããŸããâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-304662258 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AApc0ipynL_qrZqUBldOJOX046RNY2H_ks5r-skwgaJpZM4F4LbW
ã
ç¹æ§ãšåãæ§ç¯ããæ¹æ³ã§ãã§ã«å®å®ãããããšæã£ãŠããŸããããã«ã€ããŠã¯æèŠã®çžéã¯ãªããšç¢ºä¿¡ããŠããããã§ãã æ§æäžã®ãã€ã¯ã·ã§ãã£ã³ã°ãã³ã¢æ©èœèªäœã®å®å®åã劚ããªãããã«ããŠãã ããã
ããã¯ãend = T :: max_valueïŒïŒã§ã¯æ©èœããŸããã
æ¬åœã«2 ^ 64以äžã®å€ããããã¯2 ^ 8ã®å€ãç¹°ãè¿ãããã§ããïŒ u32
ãªã©ã®æåŸã®ããã€ãã®å€ã®ã¿ãç¹°ãè¿ãåŠçããå Žåã¯ãã«ãŒãå
ã«1ã€è¿œå ããæ¹ãç°¡åãªå ŽåããããããŸãã ãŸãããªãããã®çç±ã§2^B-1
ãç¹°ãè¿ãåŠçãããå Žåã¯ãã«ãŒãã®æåŸã§ãã€ã§ãif i == END { break; }
ã䜿çšã§ããŸãã
æšæºã®ç¬Šå·ãªãæŽæ°ã2 ^ 32ãŸãã¯2 ^ 64ã®å€ããµããŒãããŠãããããšãã£ãŠãè¡šçŸå¯èœãªæé«ã®å€ãé »ç¹ã«äœ¿çšãããããã§ã¯ãããŸããã ãŸãã u8
ã§äœããããŠããå Žåã¯ããšã«ããCPUãu32
ãã«ãŠã³ã¿ãŒã«äœ¿çšããæ¹ãããããç°¡åã§ããããšãå¿ããªãã§ãã ããã
ããããã¯ããŒãºãã¬ã³ãžãžã§ãã¬ãŒã¿ãŒæ§æã®å¿ èŠæ§ããªããšããŠããããŒã ã®å€æŽã«å¯Ÿããè°è«ã«åè«ããããšã¯ã§ããŸããã ãããããªã ïŒ/
ãããã®4ã€ããã¹ãŠã®å æ¬çãªãã·ã§ã³ã«å«ããã®ã¯ã©ãã§ããïŒ
1...10
1>..10
1..<10
1>.<10
幌çšå以éãäžå¹³çã®æŒç®åãã¿ããªã®å¿ã«æã¡èŸŒãŸããŠããããšãèãããšããã以äžã®èª¬æãªãã«ãããããäœãæå³ããã®ããç解ã§ããã¯ãã§ã...ããããããããä»ã®æ¹æ³ã§èŠçã«ãªããã©ããã¯ããããŸããã
ãŸãã¯ãäžçåŒãåãæ¿ããããšãã§ããŸãã
1...10
1<..10
1..>10
1<.>10
...æåŸã®ãã®ãæã£ãŠããã«ãŒããã³ã®ããã«èŠããªãããã«ããããã§ãã
@vegaiãšã確ãã«åé€ãããªãæ¢åã®a..b
æ§æã«ã€ããŠã¯ã©ãã§ããããã ããããæ°ããæ§æãªãã·ã§ã³ãææ¡ããŠãäœã解決ãããªããšæããŸãã
ããŒãã2ã€ã®ãæœåšçãªãããŸããããçºçããŸããã
if let 5..= x
-ãã§ã«è¿°ã¹ãããã«ãããã¯..=
ãããŒã¯ã³ãšèŠãªããšãå°æ¥5..
ãã¿ãŒã³ãè¿œå ããŠããããŸãã§ã¯ãããŸããã ..
ãš=
éã«ã¹ããŒã¹ãå
¥ããå¿
èŠããããŸãïŒäŸïŒ let 5.. = x
ïŒãmacro_rules!
ããã¯ã³ã³ããããåŠçã§ããŸãã ãããã«ããã ...
ã䜿ããªãéãããã®çš®ã®åé¡ãåé¿ããããšã¯ã§ããªããšæããŸããå æ¬çç¯å²ãå®å®ãããåã«ãåé¡ïŒ42401ãä¿®æ£ããå¿ èŠããããŸããå®å®ååŸã®ä¿®æ£ã¯é倧ãªå€æŽã«ãªãããã§ãã
@ est31è¯ãç¹ãç§ã¯ããã
ãã§ãã¯ãããstrslicingèªäœã¯äžå®å®ã§ããããã®åé¡ãä¿®æ£ããŠãå æ¬çç¯å²ã¯ãŸã£ãããããã¯ãããŸããã
ããã @ nagisaã¯æ£ããã§ããããã¯ç¯å²æ§æãšã¯äœã®é¢ä¿ããããŸããã ããäžåºŠé ããå€ããŠããããŸããïŒ ç§ã®ééãã ãã°ã¯ãããget
ã®å®è£
ã«ããããããã£ãŠstr_checked_slicing
æ©èœã«ãã£ãŠä¿è·ãããŠããŸãã
impl SliceIndex<str> for ops::RangeToInclusive<usize> {
type Output = str;
#[inline]
fn get(self, slice: &str) -> Option<&Self::Output> {
if slice.is_char_boundary(self.end + 1) {
Some(unsafe { self.get_unchecked(slice) })
} else {
None
}
}
[...]
åé€ãããŸãã
å¥ã®ãã§ãã¯ããã¯ã¹ã®æŽæ°ïŒPR https://github.com/rust-lang/rust/pull/42134ã¯ã httpsïŒ//github.com/rust-lang/rfcs/pull/1980ã®èª¿æŽãé©çšããŸãã
ãã³ãïŒå°ãªããšã1.20ã§æ§é äœãå®å®ãããæ¹æ³ã¯ãããŸããïŒ
å æ¬çç¯å²æ§æã®ããã«ãC ++ããæåãªgo-toæŒç®åãåããã®ã¯ã©ãã§ããïŒ ð
@nikomatsakisãš@ rust-lang / libsïŒããã«ã¿ã°ãä»ããæ¹æ³ã¯ããããŸããïŒãæ§é äœãå¥ã®è¿œè·¡åé¡ã«ç§»åããPRãéä¿¡ããå Žåãã©ã®ããã«æããŸããïŒããã®ïŒ ããã¯ãæ°ããæ§æãå®è£ /解決ãããã®ãåŸ ã€éãããããããæ©ãå®å®ãããããã«åé²ããããã®è¯ãæ¹æ³ã ãšæããŸãã
cc @ rust-lang / libsïŒããŒã å ã®äººã ããèªåã®ããŒã ãŸãã¯ä»ã®ããŒã ã«ã¿ã°ãä»ããããšãã§ããŸãïŒ
ããããšãã@ eddybïŒ
@clarcharr https://github.com/rust-lang/rust/pull/42275#discussion_r119211211ã«åºã¥ããŠãããã ããã°å¹žãã§ãã
æ§æææ¡ã®é»è»ã«ã¯é
ãããŸããïŒ
誰ããã¹ã©ã€ã¹ã«å€ãå²ãåœãŠãããšããŠããããã«ãçŸåšã®ããã«èŠããŸãã
for i in a..b {} // [a..b)
for i in a..+b {} //[a..b]
for i in a-..b {} //(a..b)
for i in a-..+b {} // (a..b]
ãã®æ§æã§ã¯ãå°æ¥ãç¯å²ã«Add
å®è£
ãè¿œå ã§ããªããªããŸãã Add
å®è£
ãäœãããã®ãããããããªãã®ã§ããããåé¡ãã©ããã¯ããããŸããã
ãã¬ãŒãªã³ã°ãã©ã¹ã«åæããŸãã ãã¬ãã£ãã¯ã¹ã«å€æŽãããŸããã
a..
ã ..b
ããã³..
ã¯Rustã§æå¹ãªæ§æã§ãããããããã§ãæ°åŠæŒç®ã§ãããŸãããçããŸãïŒ/
a...
/ a..=
/ a..+
ã¯æå¹ã§ã¯ãããŸããããæ£ããã§ããïŒ å¶éã®ãªãç¯å²ãæã€ããšã¯ãšã³ããã€ã³ããå«ãã®ã§ãå®éã«ã¯æå³ããããŸããã
Add
ã«ã€ããŠ(x..+y) + z
å®è¡ã§ããŸãã ïŒ
ç·šéïŒæ°ã«ããªãã§ãããªããäœãæå³ããã®ããç解ããã ãã§ãã ãããŸãã«ãªãã®ã¯a..+b
ã§ãããïŒ ä»ã®ãšãããããã¯a.. + b
æå³ããŸãã
@daborossãããè¯ãã¢ã€ãã¢ãŸãã¯æªãã¢ã€ãã¢ã ãšèšã£ãŠããããã§ã¯ãããŸãããããã®å®è£ ïŒãŸãã¯ãã®ããªãšãŒã·ã§ã³ïŒã¯ãå°æ¥ã®ç¯å²ã«å¿ èŠãªãã®ã«ãªãå¯èœæ§ããããŸãã
impl<T> Add<T> for RangeFrom<T> where T: Add<T> {
type Output = RangeFrom<T>;
fn add(self, rhs: T) -> RangeFrom<T> {
(self.start + rhs)..
}
}
ãã®ç¹å®ã®å®è£ ã¯è¯ãã¢ã€ãã¢ãããããŸããããããã§ãªããããããŸããããå°æ¥ã®ãŠãŒã¹ã±ãŒã¹ãšããŠèãåºãã®ã«ããã»ã©æéã¯ããããŸããã§ããã æ¢åã®æ§æã®æ±ºå®ã«ããããã®ãããªãã®ãè¿œå ãããå¯èœæ§ãæé€ããã®ã¯æªãèãã ãšæããŸãã
ç§ã®ä»ã®æžå¿µã¯ã ...
ãåŽäžããããšã®å
šäœçãªãã€ã³ãã¯ãã¿ã€ããã¹ãèªèãã«ããå¯èœæ§ãæå°éã«æããæ¬åŒ§ãæœè±¡çãªa..+b
2ã€ã®ç°ãªãæå³ã®éããçãããšãå¯èœã«ããããšã§ãããã®æ¹åã«æ»ããŸãã
ããã«ãçŸåšã®..
ãšææ¡ãããŠããéããå®å
šæ§ã®ããã«ããã®ã§ã¯ãªããããè¶
ããŠã a-..b
ãša-..+b
確åºããæ£åœåããŸã èŠãŠããŸããã ..=
äž¡æ¹ãšããæ¢ç¥ã®æå¹ãªè«ççæ ¹æ ãæã£ãŠããŸãã
åŒã®æ§æããããŸãã«ãªããããããã«+
ã䜿çšããããšã¯ã§ããŸããã
ç·šéïŒãã ãã <Range as Add<{integral}>>::Output = InclusiveRange
å®è£
ã«ãªã£ãŠããŸããããã©ã€ãã©ãªã«å
æ¬çç¯å²ãå®å
šã«å®è£
ã§ããããã«ãªããšæããŸãã
..!
ããªã¢ã³ããææ¡ãããããããŸããã ..
çç£çãªé»ãèžãã§ãããæåŸã®ããããããã«åŒ·èª¿ããŠç®ç«ãããŠããŸãã
ãã¡ãããæŒç®å!
ãšè¡çªããŸãããæ£çŽèšã£ãŠããã€ã³ããããéšååŒã«!
ãå
¥ããå¿
èŠãããç¶æ³ãæ³åããããšã¯ã§ããŸãã
..!
ã¯çŽææ§ã«åé¡ããããŸãã æ§æã«ãŸã 粟éããŠããªãåå¿è
ã¯ã ..!
ããæ倧ã§ããã...ã§ã¯ãªãããšããæå³ã§ãããšç°¡åã«èª€è§£ããå¯èœæ§ããããŸãã
ãŸããã...ã®ãããåäœã®è£æ°ãŸã§ã®ç¯å²ãã®æ§æãšãè¡çªããŸãïŒããã«ããã +
ã䜿çšããã®ãšåæ§ã®ç¶æ³ã«ãªããŸãïŒ
åæã ãããäžæ¹ã§ã ..=
ã¯ä»£å
¥æŒç®åã®1ã€ãšããŠã誀解ãããå¯èœæ§ããããŸãã
ãããä»£å ¥æŒç®åã ã£ãããäœã«ä»£å ¥ããŸããïŒ
@ snuk182ã®ææ¡ã«åºã¥ãïŒ
a...b // [a; b] shorthand for RangeIncusive
a..-b // [a; b) new Range shorthand
a..b // [a; b) old Range shorthand exists for compatibility
ä»ã®çµã¿åãããå¿ èŠãã©ããã¯çåã§ãã ãããã®å ŽåããåŸã§è¿œå ã§ããŸãã
a-..b // (a; b]
a-.-b // (a; b)
æåŸã®ãªãã·ã§ã³ã¯å°ãå¥åŠã«èŠããŸããã ^_^
åé
æŒç®åãå«ãæ§æã®ææ¡ããããŠãã ãããã€ãŸãã a..-b
ã a..!b
ã a..*b
ã a..&b
ãŸãã¯a?..b
ãåãå
¥ããããŸããã
..ïŒ çŽææ§ã«åé¡ããããŸãã æ§æã«ãŸã 粟éããŠããªãåå¿è ã¯ãç°¡åã«èª€è§£ããå¯èœæ§ããããŸã..ïŒ ããŸã§ã§ãããããã§ã¯ãããŸãã...ããæå³ããŸã
..=
ã¯ãçŽææ§ã«é¢ããŠåãåé¡ããããŸãã =
ãèŠã人ã¯èª°ã§ããææ
ãæ¯èŒãæåŸ
ããŠããŸãã ..=
ãèŠããã³ã«ããã®çå·ãããã§äœãããŠããã®ãçåã«æãã®ãé²ãããšãã§ããªãã®ã§ããã®æ§æãå®å
šã«èå¥å¯èœæ§ã®åé¡ã解決ããããšã確èªããŸãã
éåžžã«çŽæçã§çŸåšã®æ§æãšäžèŽããå¯äžã®ææ¡ãããæ§æã¯...
ã§ãã ããããè¹ã¯åºèªããããã§ãã
ãšã«ãããåå¿è
ã¯ããã¥ã¡ã³ããé »ç¹ã«èŠãå¿
èŠããããŸãã ...
ã§ããããã¥ã¡ã³ãã確èªããŸãã ããã¯é¿ããããŸããã ãã ãã ..=
ã«ã¯åªããããŒã¢ããã¯ïŒ up to
ãšequal to
ïŒãããããããã®æŒç®åã®ããã¥ã¡ã³ããé »ç¹ã«èª¿ã¹ãå¿
èŠã¯ãããŸããã
...
æŒç®åããã®ãŸãŸã§ã代ããã«..
æŒç®åã..âµ
ãã€ãŸã2ã€ã®ããããšã¹ããŒã¹ã«å€æŽãããšã©ããªããŸããïŒ 'âµ 'éåžžã®ã¹ããŒã¹ããã®WebããŒãžã«è¡šç€ºãããªããããããã«æåããããŸãïŒã ããã¯ã空çœãéèŠãªèšèªã®1ã€ã®å Žæã«ãªããŸãã a..b
ãããªãã¹ãŠã®ã³ãŒãã¯ã ..
ã®ãããªæŒç®åããªããšæå¥ãèšãããããã®åŸã«å°ãªããšã1ã€ã®ã¹ããŒã¹ãè¿œå ããããã«ã¢ããã€ã¹ããããããããé倧ãªå€æŽã«ãªããŸãã ç§ã¯ã¹ããŒã¹ãããããèŠèŠçã«ååã«åºå¥ã§ãããšæããŸãïŒ
a.. b
a...b
@tommitæ£çŽã«èšããšããã¯è¯ãèãã§ã¯ãªããšæããŸãã
æŒç®åã¯çŸåšã空çœã«é¢ããŠéåžžã«æè»ã§ããããšãã°ã a..b
ãša .. b
ã¯åãã§ãã ããã¯ããããã a+b
ãa + b
ãªã©ã®ä»ã®æŒç®åãšã®äžè²«æ§ãä¿ã€ããã§ãã ãã¡ããããããã¯åãããšãè¡ãã人ã
ãç°ãªãæ§æã¹ã¿ã€ã«ã䜿çšã§ããããã«ããŸãã ããªããç§ã«å°ããã°ããã¯è¯ãããšã§ãïŒ
ããã«ã ..=
è¡šèšã¯ã <=
ããã³>=
è¡šèšïŒãããã_å
æ¬ç_ãšèŠãªãããŸãïŒãšäžèŽããŠããŸãã
ä»ã«ã©ã®ãããªå¯èœæ§ããããã確èªããããšã¯åžžã«è¯ãããšã§ãããããã¯ããããæ£ãã解決çã§ã¯ãããŸããã
åæã <=
ããã³>=
ãšæ¯èŒãããšã ..=
ã¯è«ççã§ããããã£ãšããããããã«èŠããŸãã
ã¡ãªã¿ã«ã ...
ãã¡ã³ã§ããå ŽåããŸãã¯..=
å€èŠ³ãæ°ã«å
¥ããªãå Žåã劥åæ¡ã¯ãããã°ã©ãã³ã°ååã§ãã©ã³ãã䜿çšããããšã§ãã..=
çšã®ç¹å¥ãªååãæã€FiraCodeãªã©..=
ãããã¯...
ã«ãããã³ã°ãããå Žåãããã°ãâ©·ãâ©Šãâãªã©ã®å¥åŠãªãã®ã«ãããã³ã°ãããå ŽåããããŸãã
ç¯å²ã䜿çšããŠæ¢åã®ãã¹ãŠã®éã³ãŒãã«é倧ãªå€æŽãå ããŸãã...å°çæã«ãããã
ãããã 誰ããæ¬åœã«æ·±å»ãªäžäœäºææ§ã®ããææ¡ãããŠããå Žå
æèµ·ãããæžå¿µã«å¯ŸåŠããããã¯è°è«ãããŠããŸãã
ãã§ã«èããŠã¿ãŸãããããå°ãªããšããããæšæºãšããŠç¶æããŸããããã
ãã®ã¹ã¬ããã¯èªè»¢è»å°å±ã§ãã£ã±ãã§ãããŒã ã¯ãã§ã«æ±ºå®ãäžããŸãã
ããã¯ã¯ãªã¢ããããã®é«ãããŒã§ãã
ãããã«ãããå®éã®æ§æã«ã€ããŠã¯ãŸã å€ãã®ãã€ã¯ã·ã§ãããé²è¡ããŠããããã§ãã ã³ã¢æ©èœã䜿çšã§ããããã«ãå°ãªããšãæ§é äœãšç¹æ§ããã³å®è£ ãå®å®ãããããã«ïŒ43086ãæåºããŸããïŒéèŠãããããã§ããäžèšã®@ retep998ã«ããã³ã¡ã³ããåç §ããŠãã ããïŒã
éšå±ã®äžã®è±¡ã¯ã ..
ãå®éã«ã¯å¯Ÿç§°çãªå€èŠ³ã§ãããé察称ãªæå³ã§ãããããããã§ã®æ¬åœã®åé¡ã§ãããšããããšã§ãã ãæ£ããããšãã¯ãããããããéæšå¥šã«ããããšã䌎ãã§ãããããéåžžã«å€ãã®ã³ãŒãããã§ã«ããã䜿çšããŠããã®ã§ããããããæå¿ã¯ãããŸããã
å®å
šã«äžè²«æ§ã®ãã...
ïŒå¯Ÿç§°çãªå€èŠ³ã察称çãªæå³ïŒãå»æ¢ããã®ã¯ç°¡åãªæ¹æ³ã§ããã ..=
ããã«å¥ã®äžè²«æ§ã®ãªãæŒç®åãè¿œå ãããšããç ç²ã䌎ããŸãã 以åã®æªããã¶ã€ã³ãåé¿ããããã«æªããã¶ã€ã³ãè¿œå ããŠããããã§ãã
ãã®äºéã®äžæŽåã®ããã«ãããã«ã¯å¥ã®åé¡ããããŸããæ®ãã®2ã€ã®å
æ¬æ§ããªã¢ã³ãïŒäž¡åŽã§æä»çã§å·ŠåŽã®ã¿ã§æä»çïŒãè¿œå ããè¯ãæ¹æ³ã¯ãããŸããã ..
ãš..=
äž¡æ¹ããã§ã«å·ŠåŽã«æé»ã®=
ãæã£ãŠããã®ã§ããããã<
ã䜿çšããŠãããããªããšãããŠåŠå®ããå¿
èŠããããŸãã ãããã£ãŠã次ã®ããã«è¡šç€ºããå¿
èŠããããŸãã
<..=
for (a; b]
<..
for (a; b)
ããããæ°åè ãšããŠäœãæå³ããã®ããæ£ããæšæž¬ããŠé 匵ã£ãŠãã ããã ãããã£ãŠãããããïŒåœç¶ã®ããšãªããïŒè¿œå ããããšã¯èŠãªãããŸããã
..
ãããã»ã©å®çããŠããªãããååšããããŠããªãã£ãå Žåãããããã¹ãŠã®äžè²«ããèšèšããŒãããèãåºãããšã¯ããã»ã©é£ããããšã§ã¯ãããŸãããããšãã°ã次ã®ããã«ãªããŸãã
..
ïŒãŸãã¯...
ïŒã®ããã«[a; b]
..<
å Žåã¯[a; b)
<..
for (a; b]
<..<
å Žåã¯(a; b)
æåŸã®2ã€ã®ããªã¢ã³ãã¯ãããæç¹ã§åœ¹ç«ã€å¯èœæ§ããããšæããŠããŸãããå®éã«ããããžã®ãã¹ãéåžžã«è¿
éã«ãããã¯ããå¿
èŠããããŸããïŒ ãããã«ããã ..
ãå»æ¢ããããã..=
ãéžæããå¯äžã®æ£åœãªçç±ã¯ãã¯ããã«å€ãã³ãŒããå£ãããšã§ãããããã¯ããããå¿
èŠãªæªã§ãããç¥ããã®ã¯äœããããŸããã
_ç·šéïŒããæ確ã«ããããã«äŸãšããã€ãã®ã³ã¡ã³ããè¿œå ããŸããã_
..
ãããã§ã®å®éã®åé¡ã§ããã ...
ã..=
ã§ã¯ãªããšããç¹ã§ã @ rkarpã«åæããŸãã é察称ã®æå³ã¯ãä»ã®ïŒãã人æ°ã®ããïŒã®èšèªãå®éã«ããã«å·Šå³å¯Ÿç§°ã®æå³ãå²ãåœãŠãè¡ãããšãèæ
®ãããšãç¹ã«æªãã§ãã KotlinãRubyãHaskellã¯ã©ã¡ãããããšãã°5ã3..5ã®ç¯å²ã«ãããšèŠãªããŸãã æ°åŠã®è«æããããæ¯æããŠããããã§ãã ããã§ã®ææªã®ããšã¯ãåå¿è
ãRustã§ã®3..5ã®åäœãæšæž¬ããæ©äŒããªãããšã§ãã4ãš4ã ããç¯å²3..5ïŒãããã®å埩ïŒã®ã¡ã³ããŒã§ãããããŸãã¯ãã®äž¡æ¹ã§ãããšå€æããŸãã 3ãš5ããã®äžã«ãããŸãïŒãç§ãã¡ãèŠãããšãã§ãããã¹ãŠããšãããã®å€æ¿ãç¹°ãè¿ããŸãïŒã
ãããããããå€æŽããããšã®é£ããã«åæããŸããã @adelarsqã®ææ¡ã¯ãæ¯èŒç
[1..4] // 1, 2, 3, 4
[1..4[ // 1, 2, 3
]1..4] // 2, 3, 4
]1..4[ // 2, 3
ä»»æã®çºçx..y
ïŒè§æ¬åŒ§ãªãã§ã¯ïŒã«å€æããããšãã§ãã[x..y[
ããã³ã³ã³ãã€ã©ã®èŠåãçºããŸãã ããã€ãã®ãªãªãŒã¹ã®åŸãã³ã³ãã€ã©ã¯åã«ã裞ã®ãç¯å²è¡šèšã®ã³ã³ãã€ã«ãæåŠããæ°ããè¡šèšã«èªåçã«å€æããããŒã«ãæäŸããããšããã§ããŸãã
https://github.com/rust-lang/rust/issues/28237#issuecomment -274216603ããã¯æ°ããã¢ã€ãã¢ã§ã¯ãªãããã§ã«è¿°ã¹ãçç±ã«ãã䜿çšã§ããŸããã
åŸç¥æµãå©çšããŠèšèªããŒãããèšèšããå Žåã¯ãæä»çç¯å²ãšå
æ¬çç¯å²ã®æ§æãäžç·ã«æ€èšããããšæããšããèãã«å®å
šã«åæããŸãã ..=
ã¯ãå
æ¬çç¯å²ã®çæ³çãªæŒç®åã§ã¯ãªããšæããŸãã ããã¯ãçŸåšããŒãã«ã«ããæè¯ã®ãªãã·ã§ã³ã§ãã ããããçŸåšã®æä»çç¯å²æŒç®åãå»æ¢ããããšã¯éåžžã«èŠçã§ãããæ¢åã®RustãŠãŒã¶ãŒãšãããžã§ã¯ãã«äžå¿«æãäžããŸãã
ããŸãããå¯èœæ§ã®ããä»ã®å€ãã®ææ¡ããããŸãã ããšãã°ãç§ã¯..@
ææ¡ãããŠããã®ãèŠãããšããªãã x..@y
ã¯åºæ¿çã§ããããã«èŠããŸãã 課é¡ã¯ããããŸããã®æ¬ åŠãç¶æããªãããçŸåšã®ææ¡ããã説åŸåã®ãããã®ãèŠã€ããããšã§ãã
察称æ§ã®ç§ã®ãæ°ã«å ¥ãã®ãã¥ãŒãšããŠã2ãæåã®@ssokolowã®ã³ã¡ã³ãã匷調ããããšæããŸããã
..4
ã¯< 4
ãã®ãå«ãŸããŠããŸã..=4
ã¯<= 4
ãã®ãå«ãŸããŠããŸãå
æ¬çç¯å²ã®ã¿ãå¿
èŠã ãšæããŸããããã¯ãã£ãšç°¡åã§ãã
ç¯å²ãå€æŽããã«ã¯ããã€ã§ã+1ãŸãã¯-1ãè¿œå ã§ããŸãã
ãããŠ..ã¯..ãããåªããŠããŸãããªããªã..ã¯...ãããåçŽã ããã§ãïŒ
@ AlexanderChen1989ãã®ã¹ã¬ããã®è€æ°ã®æçš¿ã§ä»¥åã«è¿°ã¹ãããã«ã ..
ã®æå³ãå€æŽãããšæ¢åã®ã³ãŒããç Žæãããããããã¯äžå¯èœã§ãã
ããã«ãããã¯å®éã«ã¯ããã»ã©åçŽã§ã¯ãããŸããã æã泚ç®ãã¹ãã¯ã +1
ãš-1
ãæŽæ°ã®ãªãŒããŒãããŒ/ã¢ã³ããŒãããŒãåŒãèµ·ããå¯èœæ§ãããããšã§ããïŒ
ããã¯nightly
ã§
#![feature(inclusive_range_syntax)]
fn main() {
let max = 255u8;
let user_provided = 0u8;
for x in 0...user_provided-1 {
println!("(0 to 0, exclusive via 'inclusive - 1'): {}", x);
}
for x in 0..max+1 {
println!("(0 to 255, inclusive via 'exclusive + 1'): {}", x);
}
}
èšèªããŒã ã決å®ãäžããŠä»¥æ¥ã8人ã®å°çæã«æ»ãã æ§æã®ææ¡ããªãããŸããã æ°èŠåå ¥è ã¯ã¹ã¬ãããèªãã§ãã ããã ç§ãã¡ãçŽæãã決å®ãäžãã«ã¯ãéåžžã«æ£åœãªçç±ããããŸããã
IMHO OPãæŽæ°ããŠããã®ã¹ã¬ããã§æ§æã®è°è«ãè¡ãå¿ èŠããªãããšãææããæä»çç¯å²æ§æïŒã€ãŸããïŒaãbïŒããã³ïŒaãb]ç¯å²ïŒã®ææ¡ãå¥ã®ã¹ã¬ããã«ç§»åããå¿ èŠããããŸãã
ããã¯ãçŸåšã®èšç»ãå®å®ãããããã«è¡ãå¿ èŠãããããšã«ã€ããŠã®ã¿è©±ãå¿ èŠããããŸãã
@clarcharrç§ã¯ã»ãšãã©äžæ¹çãªæ±ºå®ãäžãããããOPã«è¿œå ããŸãããè¯ãèãã§ãã ãã€ãºãç¶ãå Žåã¯ãã¹ã¬ãããããã¯ããããšã«æ祚ããŸãã
ããã«ã¡ã¯ãç§ã¯æ°ããã®ã§ãããã«åãçµã¿å§ããããšæããŸãã ãã¿ãŒã³ã§...
å矩èªãšããŠ..=
ãè¿œå ããåŒã§...
ãå»æ¢ããæ§æã次ã®ããã«å€æŽãããããšã瀺ããšã©ãŒã衚瀺ããPRãäœæããããšããŸãã ..=
ã ãã®é³ã¯æ£ããã§ããïŒ
@ Badel2ãã£ãããã ç§ã¯å®éã«å§ããŸãã-ããã«ãã©ã³ããããã·ã¥ããŠãããã«ãªã³ã¯ããŸãã
@durkaã¯æ確ã«ããããã«ã @ Badel2ããã©ã³ãããéå§ããããšãææ¡ããŠããŸããïŒ implæéã®äœæ¥ã®äžç°ãšããŠããããæå°ã§ããŸããïŒ åœŒãã¯Gitterãã£ã³ãã«ã«ããŸãã
ãŸããå®éã®åé¡ã¯..
ããšã«åæããŸãã ãããã£ãŠããã奜ãŸãã解決çã¯ã ..<
ãããªãã®ãåªå
ããŠ..
ãéæšå¥šã«ããããšã§ãïŒäžåºŠã«çœ®ãæããªãã®ã§ãæ¢åã®ã³ãŒããå£ãããšã¯ãããŸããïŒïŒ a..<b
éã«æ··ä¹±ã¯ãããŸããïŒ (a..)<b
ã ..
ã¯æçµçã«ã¯ååšããªããªãããïŒã
@ hyst329ãã§ã«äœæãããæçš¿ããèªã¿ãã ããã
æåã®æçš¿ã§ã¯ã倪åã®ããã¹ãã§ãããã®ã¹ã¬ããã§æ§æã«é¢ããè°è«ãè¡ãã¹ãã§ã¯ãããŸããããšè¿°ã¹ãŠããŸãã
ããã¯ããŠãããããªãã説æããããšã¯ãæ¢åã®è°è«ãèªãã§ããªãä»ã®äººã«ãã£ãŠãã§ã«äœåºŠãããã§ææ¡ãããŠããããããå®è¡å¯èœãªéžæè¢ã§ã¯ãªãçç±ã«å¿ããŠäžããããè€æ°ã®çç±ããããŸãã
ç³ãèš³ãããŸããããããã¯ããŸã建èšçã§ã¯ãããŸãããã ..=
ã衚瀺ããŠãããäœã§ããããæãåºãããšãããã³ã«ã +=
ãŸãã¯<<=
䌌ã代å
¥æŒç®åã®ããã«èŠããŸãã ããã§ãªãããšã¯éåžžã«æ··ä¹±ããŸãã ïŒç¢ºãã«ããã¯æèããå€ããŠããŸãããããšãã°ã ..=
æ§æã®åæãµããŒããhttps://this-week-in-rust.org/blog/2017/10/03/this-week-ãã³ã§-202 /ïŒ
@SimonSapinäžèšã§åãæ¹å€ããã建èšçãªæ¹æ³ã§è¡šçŸãã代ããã«..^
ææ¡ããŸããïŒ https ïŒ
ç§ã«ãšã£ãŠã ..=
ãè¡šã..<
..
ãå
æ¬çç¯å²ã®å Žåã¯..=
éžæããŠã倧äžå€«
@SimonSapinå®å šã«æºè¶³ããŠãã人ã¯ããªããšæããŸãã åé¡ã¯ãæ®å¿µãªããäœçŸãã®ã³ã¡ã³ããããè¯ã代æ¿æ¡ããªãããšã確èªããŠããããšã§ãã
ãã®ãããã¯ããšããžã±ãŒã¹ãã«ããŒããããã ãã«çŸåšã®ãã¿ãŒã³æ§æãå°ç¡ãã«ããããããäœãããªããããç§ãçŽåŸãããããã«éæãããŸããã
..
ã¯ãã¿ãŒã³ã®ãŠãŒã¹ã±ãŒã¹ãã»ãšãã©ãªããããããªããŠããã€ã§ã察åŠã§ããŸãã
...
ã¯ãå®éã«ããããå¿
èŠãšããåŒã§RangeInclusive
ãŸãã¯(Bound<T>, Bound<T>)
ã«çœ®ãæããããšãã§ããŸãã ããåé·ã§ãããç解ããããã§ãã
@UtherII
...ãããŠãã³ã³ãã€ã©ã®ãå®å®ããç¯å²ã§å
æ¬çç¯å²æ§æã䜿çšããããšã¯ã§ããŸããããšããã¡ãã»ãŒãžã«ãã£ãŠåŸ®åŠãªãã°ããæããããšãã ...
ã¯åãå
¥ããããªããšç¢ºä¿¡ããŠããŸããã
ãã°ããé£ç¶ããŠè€æ°åæŒããšã誀ã£ãŠ.
1åå€ãããŠïŒãŸãã¯ãé¢ä¿ããã¡ã«ããºã ãèãããšã1åå°ãªãããŠïŒãããããã®
ããã¿ãŒã³ã§...
å矩èªãšããŠ..=
ãåãå
¥ããåŒã§..=
ãåãå
¥ããããã«å€æŽãããããã§ãã¯ããŸãããããã¯ãïŒ44709ã®åŸã«ãã§ã«åœãŠã¯ãŸãããã§ãã dotdoteq_in_patterns
ãšinclusive_range_syntax
æ©èœã æ®ã£ãŠããã®ã¯ãææžåãšå®å®åã ãã§ãã
å æ¬çç¯å²ã1.26 ïŒ3æ30æ¥ããŒã¿ã5æ11æ¥å®å®ïŒãŸãã¯ãã以åã«å®å®ããããã å®å®åPRã¯ïŒ47813ãšããŠæåºãããŸããã
次ã®3ã€ã®æ©èœãå®å®ããŸãã
inclusive_range_syntax
âåŒã®a..=b
ããã³..=b
æ§æïŒ
for i in 1..=10 {
println!("{:?}", &a[..=i]);
}
dotdoteq_in_patterns
âãã¿ãŒã³å
ã®a..=b
æ§æïŒ
match c {
b'0'..=b'9' => c - b'0',
b'a'..=b'z' => c - b'a' + 10,
b'A'..=b'Z' => c - b'A' + 10,
_ => unreachable!(),
}
ïŒæ³šïŒ a...b
æ§æã¯ãèŠåãªãã§åŒãç¶ãåãå
¥ããããŸãïŒ
inclusive_range
â std::ops::{RangeInclusive, RangeInclusiveTo}
ã¿ã€ããšãã®ãã£ãŒã«ãïŒ
let r = 1..=10;
assert_eq!(r.start, 1);
assert_eq!(r.end, 10);
ããã€ãã®ããã¥ã¡ã³ãPRã@alercahããæåºãã
ãã¹ãã±ãŒã¹ã¯æ¬¡ã®å Žæã«ãããŸãã
run-pass/range_inclusive.rs
âa..=b
䜿çšãã€ãã¬ãŒã¿ãã¹ã©ã€ã¹ã€ã³ããã¯ã¹ã ..=
æŒç®åã®åªå
é äœãã¿ã€ããã§ãã¯ã®åäœãªã©ã®åºæ¬çãªãã¹ããlibcore/tests/iter.rs
âa..=b
ã®åäœã«é¢ãããããªããã¹ãã nth()
ã min()
ã max()
ã last()
ç¹æ®åãæ£ããæ©èœãã (5..=5).next()
åŒã³åºããåŸã®ç¯å²ã1..=0
ãliballoc/tests/str.rs
ã liballoc/tests/btree/map.rs
ããã³liballoc/tests/vec.rs
âa..=b
ãããŸããŸãªã³ã¬ã¯ã·ã§ã³ã¿ã€ãã§æ£ããæ©èœããããšã確èªããŸããparse-fail/range_inclusive.rs
ããã³ui/impossible_range.rs
âa..=
ã..=
ãªã©ã®ãã³ã»ã³ã¹æ§é ãä¿èšŒããŸãparse-fail/range_inclusive_dotdotdot.rs
âa...b
ããã³...b
ã確å®ã«æåŠããŸããrun-pass/inc-range-pat.rs
âa..=b
ãša...b
äž¡æ¹ã®äœ¿çšãåãå
¥ããããåçã§ããããšã確èªããŸããcompile-fail/range_traits-1.rs
ããã³compile-fail/range_traits-6.rs
âRangeInclusive
ãšRangeInclusiveTo
ãïŒä»ã®ç¯å²ãšåæ§ã«ïŒ PartialOrd
å®è£
ããã RangeInclusive
ãCopy
å®è£
ããªãããšãä¿èšŒããŸãïŒã§ããŸããïŒå埩åã§ãããããã³ããŒãå®è£
ããŸãïŒãlibcore/tests/ops.rs
âRangeInclusive
ã€ã³ã¹ã¿ã³ã¹ã®å埩ãæ©èœããããšã確èªããŸããa..=b
ãforã«ãŒãã§äœ¿çšãããšã next()
ãããè€éã§ãªããã£ãã€ã¶ãŒã«é©ããªãããã a..(b+1)
ãããããã©ãŒãã³ã¹ã倧å¹
ã«äœäžããŸãã ããã¯çŸåšïŒ45222ã§è¿œè·¡ãããŠããŸãã ããã¯çŸåšãforã«ãŒãã®ä»£ããã«ã€ãã¬ãŒã¿ã¡ãœããã䜿çšããå Žåã«ïŒ48012ã«ãã£ãŠè»œæžãããŸãã
rust-lang / rfcsïŒ1980ã®èšèšã«ãŸã ã³ãããããããªãå Žåã¯ã RangeInclusive
ã®ãã£ãŒã«ããäžå®å®ã«ä¿ã€å¿
èŠããããããããŸããã
rust-lang / rfcsïŒ1980ã®èšèšã«ãŸã ã³ãããããããªãå Žåã¯ãRangeInclusiveã®ãã£ãŒã«ããäžå®å®ã«ä¿ã€å¿ èŠããããããããŸããã
+1
ã¡ãœããããŒã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªããç¯å²ãã£ãŒã«ããçŽæ¥å
¬éããå¿
èŠã¯ãããŸããïŒ
@rfcbotfcpããŒãž
@kennytmã®èŠçŽã«åŸã£ãŠãå
æ¬çç¯å²æ§æïŒ ..=
ïŒãå®å®ãããããšãææ¡ããŸãã
ïŒãšã¯ããã ..=
ããã©ãŒãã³ã¹ã®äœäžã¯ããæžå¿µãããŠãããåœé¢ã¯..=
ãçŽæ¥å®è£
ããªãIterator
ã«ããã®ãçã«ããªã£ãŠããã®ã§ã¯ãªãããšæããŸããããã軜æžããããã«ãïŒ
ããŒã ã¡ã³ããŒã®@nikomatsakisã¯ããããããŒãžããããšãææ¡ããŸããã 次ã®ã¹ãããã¯ãã¿ã°ä»ããããæ®ãã®ããŒã ã«ããã¬ãã¥ãŒã§ãã
çŸåšãªã¹ããããŠããæžå¿µã¯ãããŸããã
ã¬ãã¥ãŒã¢ã®éåæ°ãæ¿èªãããšïŒãããŠå察ã¯ãããŸããïŒãããã¯æçµã³ã¡ã³ãæéã«å ¥ããŸãã ãã®ããã»ã¹ã®ã©ã®æç¹ã§ãæèµ·ãããŠããªã倧ããªåé¡ãèŠã€ããå Žåã¯ã声ãäžããŠãã ããã
ã¿ã°ä»ããããããŒã ã¡ã³ããŒãç§ã«äžããããšãã§ããã³ãã³ãã«ã€ããŠã¯ããã®ããã¥ã¡ã³ããåç §ããŠãã ããã
ããã軜æžããããã«ãåœé¢ã¯.. =çŽæ¥å®è£ ãããŠããªãã€ãã¬ãŒã¿ãäœæããã®ãçã«ããªã£ãŠããã®ã§ã¯ãªãããšæããŸãã
ãããã®å®å®ããç¹æ§ã¯ãçŸåšã®Nightlyã®å°ãªããšãããã€ãã®T
ã«å¯ŸããŠRangeInclusive<T>
ã§å®è£
ãããŸãïŒ Iterator
ã FusedIterator
ã ExactSizeIterator
ã Debug
ã Clone
ã Eq
ã PartialEq
ã Hash
ã TrustedLen
ã
@SimonSapinå¿ããŠããŸããŸããããæ§é äœã¯ãã§ã«å®å®ããŠããŸããïŒ ïŒèšãæããã°ãããã¯èŠ³å¯å¯èœã§ããïŒïŒç§ã¯ããã§ã¯ãªããšæã£ãŠããŸããã
ããã¯èšã£ãŠããç§ãæ¬åœã«ã 1..2
ãš1..=2
ã¯ãã¹ãŠåãå Žæã§äœ¿çšã§ããã¯ãã ãšæããŸããããã¯ãããã§å€æŽãå ããããšã«å察ãã代ããã«ãç·©åçãè¿œæ±ããŠæ¹åããå¿
èŠãããããšã瀺åããŠããŸããæé©åã
end == MAX
ç¹å¥ãªå Žåã®ç¯å²ã¯ã©ãã§ããïŒ ããã«ãããå¢çã«çŽæ¥è¡ããã®ãããå€ãã®ã³ãŒããæã£ãŠããããšãé€ããŠãæä»çãªãã®ãšåãã³ãŒããæã€æãå
æ¬çãªç¯å²ã«ã€ãªããå¯èœæ§ããããŸãã end != Max
ãã©ã³ãã¯end
å€æŽããªãããããªããã£ãã€ã¶ãŒã«ãã£ãŠç°¡åã«ã€ã³ã©ã€ã³åã§ããŸãã
@nikomatsakisããããæ§é äœã¯çŸåšäžå®å®ã§ãã ãããã@ kennytmã®ææ¡ã«ã¯ãããããå®å®ãããããšãå«ãŸããŠããŸãã
@SimonSapin
ããããæ§é äœã¯çŸåšäžå®å®ã§ãã ãããã@ kennytmã®ææ¡ã«ã¯ãããããå®å®ãããããšãå«ãŸããŠããŸãã
ããã§ãã; 確ãã«ããããã Iterator
implãä»ããåé€ããå¿
èŠããããšè¿°ã¹ãçç±ã§ãã =ïŒ
@SimonSapinæ§é äœãå®å®ãããã«ã a..=b
åŒã®æ§æãå®å®ãããããšã¯ã§ããªããšæããŸãã ãã ããå€æŽããå¯èœæ§ããããšæãããå Žåã¯ããã£ãŒã«ããäžå®å®ãªãŸãŸã«ããããšãã§ããŸãã
ããã§ãããããã®åã®å€ãäœæããããã®æ§æãå®å®ããããšãã«ãåãå®å®ãããã¹ãã§ã¯ãªããšèšãã€ããã¯ãããŸããã§ããã
ç¯å²æ§æã®ãã€ã¯ã·ã§ãããè±åºããå®å®ãããããã®äžæ³ïŒ ïŒtadaïŒ
ã¿ã€ã ãã·ã³ãèãããšãç¯å²ã¿ã€ãã¯ã©ãã:Iterator
ã§ã¯ãªãã :IntoIterator
ã§ãããšäž»åŒµããŸãã ããããä»ã®ããã«ãç¯å²ãšã®Chain
ããŠãããŸããå
éšå埩ã®æ¹ãéãå ŽåããããŸãããã±ããã«å
¥ããããšãã§ããŸãã
æªè§£æ±ºã§ãå埩ã«é¢é£ãããã1ã€ã®ããšïŒå埩ãå®äºããããRangeInclusiveã®ç¹å®ã®è¡šçŸã«ã³ãããããŸããïŒ ä»ã®ãšãã1..=0
ã«ãªããŸããã
ãã®ã±ãŒã¹ãChainã§ããŸããå éšå埩ãæã ãã£ãšéããªãããšãããã£ãããã±ããã«å ¥ããããšãã§ããŸãã
æä»çãªç¯å²ä»¥äžã®ããã©ãŒãã³ã¹ãåŸãã«ã¯ãæ¬åœã«ä¿®æ£ããå¿ èŠããããšæããŸãã ãããååšããæ ¹æ¬çãªçç±ã¯ãããŸããã
ãããååšãã_åºæ¬çãª_çç±ã¯ãããŸããã
ããã¯ãã©ã®äžå€æ¡ä»¶ã匷å¶ã§ãããã«ãã£ãŠç°ãªããŸãã ç¶æ
ã®ããããè¿œå ããã以åã®2ã€ã®å®åŒåã§ã¯ãå埩ãå®äºãããšãã«ãã®ããããå®éã«èšå®ãããããšã匷å¶ãããã®ã¯äœããããŸããã§ããïŒå®éã 100..=0
ãããªãªãã©ã«ã«ã¯èšå®ãããŠããŸããRangeInclusive: !Iterator
ãäœæããããŸãã¯ãããã®çš®é¡ã®ã«ãŒããæé©åããããã«LLVMãæ¹åããããšãæå³ããããã«ãå®å
šã«ä¿®æ£ããŸãã
ããã¯èšã£ãŠããç§ã¯RangeInclusive::next
ãæžãããã®ããã€ãã®ç°ãªãæ¹æ³ãè©ŠããŸãããã Option<Ordering>
ã«äžèŽãããšããç§ã®éå»ã®èªå·±ã®éžæã¯ãLLVMãéåžžã«æ²ããããŠããããã§ã-代ããã«æ¯èŒæŒç®åãããã«çœ®ãã ãã§ã¯ããã«åªããã¢ã»ã³ããªã PRãç·šéããŸãïŒ https ïŒ
ã¿ã€ã ãã·ã³ãèãããšãRangeã¿ã€ãã¯ã©ããïŒIteratorã§ã¯ãªããåã«ïŒIntoIteratorã§ãããšäž»åŒµããŸãã ããããä»ã®ããã«ãç¯å²ãšã®äžè²«æ§ãæè¯ã®éžæè¢ã ãšæããŸãã ãã®ã±ãŒã¹ãChainã§ããŸããå éšå埩ãæã ãã£ãšéããªãããšãããã£ãããã±ããã«å ¥ããããšãã§ããŸãã
ç§ã¯åºæ¬çã«ããã«åæããŸãã
@rfcbotfcpãã£ã³ã»ã«
@withoutboatsãš@KodrAusã¯ãã§ãã¯ããã¯ã¹ã
@cramertjã®ææ¡ã¯ãã£ã³ã»ã«ãããŸããã
@rfcbotfcpããŒãž
https://internals.rust-lang.org/t/psa-tweaks-to-fcp-process/6775
ããŒã ã¡ã³ããŒã®@cramertjã¯ããããããŒãžããããšãææ¡ããŸããã 次ã®ã¹ãããã¯ãã¿ã°ä»ããããæ®ãã®ããŒã ã«ããã¬ãã¥ãŒã§ãã
çŸåšãªã¹ããããŠããæžå¿µã¯ãããŸããã
ã¬ãã¥ãŒã¢ã®éåæ°ãæ¿èªãããšïŒãããŠå察ã¯ãããŸããïŒãããã¯æçµã³ã¡ã³ãæéã«å ¥ããŸãã ãã®ããã»ã¹ã®ã©ã®æç¹ã§ãæèµ·ãããŠããªã倧ããªåé¡ãèŠã€ããå Žåã¯ã声ãäžããŠãã ããã
ã¿ã°ä»ããããããŒã ã¡ã³ããŒãç§ã«äžããããšãã§ããã³ãã³ãã«ã€ããŠã¯ããã®ããã¥ã¡ã³ããåç §ããŠãã ããã
@rfcbotfcpã®æžå¿µç¯å²ãã¿ãŒã³ã«ã¯ãªãã¬ãŒã¿ãŒã®åªå é äœã®åé¡ããããŸãïŒ//github.com/rust-lang/rust/issues/48501ã
ïŒ @petrochenkovæ§æã¯<strong i="6">@rfcbot</strong> concern KEYWORD
ã fcp
ã¯ãããŸããããã ããæžå¿µäºé
ãç»é²ã§ããã®ã¯ã¿ã°ä»ããããããŒã ã¡ã³ããŒã ãã ãšæããŸããïŒ
ããã§æçµã³ã¡ã³ãæéãçµäºããŸããã
ïŒ48501ãå®å®åããããã¯ããã®ã«ååã§ããå ŽåãïŒ48500ãããŒãžïŒããã³å®å®åïŒããã®ãåŸ ã€å¿ èŠããããšæããŸããïŒ ããŒãããã£ãšéãéãèŠã€ãããããšããã®ã§ããã ãã®æ©èœã¯éåžžã«é·ãé䜿çšãããŠãããçŸåšã¯äžå®å®ãªç¶æ ã«ããããšã©ãŒã¡ãã»ãŒãžã«ãã£ãŠæ§æãäžå®å®ã«ãªã£ãŠããŸãã
@durka
ãã®å®å®åã«ã¯ã httpsïŒ//github.com/rust-lang/rust/pull/48500ã®å®å®åãåŸ
ã€å¿
èŠã¯ãªããšæã
ãã¿ãŒã³ã«...
ããŸã ååšããå€ãåªå
床ãæ®ã£ãŠããããããã¿ãŒã³ã«&BEGIN ... END
ãããå ŽåïŒããã¯éåžžã«ãŸããªããšã ãšæããŸãïŒãåžžã«..=
å€æŽããªããªãã·ã§ã³ããããŸãããã°ããã®é
ïŒ48500ãããªãæ©ãå®å®ãããããšãã§ãããšæããŸã
å人çã«ã¯ãäžå®å®ãã«çéžããŠã倧äžå€«ã§ã
inclusive range
ã¯ãïŒ47813ãã«ãªã¯ãšã¹ããããŒãžãããããå®å®ããŸãããã1.25ãªãªãŒã¹ã«ã¯å«ãŸããŠããŸããããªãã§ããïŒ ãã«ãªã¯ãšã¹ãã¯3æ16æ¥ã«ããŒãžãããŸããã
@mominulæ©èœã¯ããã¹ã¿ãŒãã©ã³ãã«ããŒãžãããåŸã«ã®ã¿äœ¿çšã§ããããã ..=
ã¯1.25ã§ã¯ãªã1.26ãã䜿çšã§ããŸãã
ããããã°ãããŒã¿çãšæ¯æ©ãå®å®åããåã«ãã¹ãã§ããŸãã
@kennytmãš@clarcharrã®å ¥åã«æè¬ããŸãïŒ Rust 1.26ã®ãªãªãŒã¹ã¯ãå°ãªããšãç§ã«ãšã£ãŠã¯ééããªãéå±ã§ã¯ãããŸããã ïŒç¬é¡ïŒ
ãã®è°è«ã«åå ããã«ã¯é
ãããããšã¯ç¥ã£ãŠããŸããã ..
æ§æãå®å
šã«çç¥ããŠã代ããã«åèªã䜿çšããŠã¿ãŸãããïŒ
Scalaã«ã¯ã 1 to 4
ãçæãã[1, 2, 3, 4]
ã 1 until 4
ãçæãã[1, 2, 3]
ãããã³ã¹ããããµã€ãºã瀺ããªãã·ã§ã³ã®by
ããŒã¯ãŒãããããŸãã ïŒ 1 to 10 by 2 = [1, 3, 5, 7, 9]
ã
ããã«ãããæå³ãããæ確ã«ãªãã誰ããå¿é ããŠããããã«èŠããããªããã€ã¯ã³ããšã©ãŒãåé¿ãããŸãã
確ãã«ãå ã®æ§æããµããŒããããŠããªãå Žåãããã¯æ¢åã®ãã¹ãŠã®ã³ãŒããå£ããŸãã
éã³ãç¯å²ã®@ElectricCoffeeã¯ãæ°åã ãã§ãªãããã¹ãŠã®ã¿ã€ãããµããŒãããŸãã ããããµããŒãããããã«ãããŒã¯ãŒããšããŠto
ãšuntil
ãå°å
¥ããå¿
èŠããããšæããŸããããã¯ãã¯ããã«å€§ããªå€§ããªå€åã«ãªãã§ãããã
Scalaã§ã¯ããŸãæ©èœããŸãããRustã®ãã¶ã€ã³ã®éžæã¯å€§ããç°ãªããŸãã
@ElectricCoffeeãã®æ°æã¡ã¯ããã®ã§ãããããŒã¯ãŒããè¿œå ããã®ã¯æãŸãããªããšæããŸãã
çµã¿èŸŒã¿ã®èšèªããŒã¯ãŒãã¯ãé¢æ°åãå€æ°åãšè¡çªããå¯èœæ§ããããããæå°éã«æããå¿ èŠããããšæããŸãã
to
ãšuntil
ã¯std
䜿çšãããŠããåèªã§ã¯ãããŸãããïŒç§ãç¥ãéãïŒãä»ã®ç®±ã§äœ¿çšãããŠããäžè¬çãªåèªã§ãããšç¢ºä¿¡ããŠããŸãããããžã§ã¯ãã
@daborossã¯å®éã«ã¯ç§ãèæ
®ããªãã£ãå
¬æ£ãªç¹ã§ãããããã¯èšã£ãŠãã a .. b
ã¯ã a
ãšb
ã«é¢ä¿ãªããããæå³ã§a to b
æå³ããŸãb
å®éã«ããã§ãã
ãããŠãããã @ timvisee圌ãã¯ããããããã§ãã
@ElectricCoffeeãããã to
ã..=
ãæå³ãã until
ã..
ãæå³ããå Žåã a to b
ã§ã¯ãªãa until b
ãèšè¿°ããå¿
èŠããããŸãã a to b
a .. b
a to b
代ããã«a .. b
ã ã芧ã®ãšããããããã®åèªãæŒç®åããããçŽæçã«ã䜿çšããããšã¯ã§ããŸããããã ãã ..
ã䜿çšããããã¹ãŠã®å Žæã«until
ãèšè¿°ããæ¹ããããäžè¬çã§ãããããããåé·ã«ãªããŸãã ..=
ïŒãããã£ãŠãåèªã䜿çšãããå Žåã¯ã ..
ã«çãåèªãå²ãåœãŠãå¿
èŠããããŸãïŒã
ãããŠãããªãã¯ãã®@Boscopã«ã€ããŠçµ¶å¯Ÿã«æ£ããã§ãããããããã¯èšèãã©ã®ããã«è¡ãããããšãã§ãããã®åãªãäŸã§ããã
äžéšã®èšèªã§ããæä»çãªto
upto
ãšå
æ¬çãª
ããã¯ãã¹ãŠã¢ã€ãã¢ãšããŠæå³ãããŠããŸããã
Scalaã§ã¯ãå æ¬çç¯å²ã¯æä»çç¯å²ããã䜿çšããããããçãåèªãäžããããŸãã
@timvisee Oneã¯a.to(b)
ãša.until(b)
ã䜿çšããã ãã§ãè¿œå ã®ããŒã¯ãŒãã¯å¿
èŠãããŸããïŒæ§æãããã»ã©äžåšçšã«ãªãããšã¯ãããŸããïŒã
@ hyst329ç§ãããã«ã€ããŠèããŠããŸããã§ããã ç§ã¯èšããªããã°ãªããŸãããç§ã¯ãã®èããæ¬åœã«å¥œãã§ãïŒ ããªãã¯ç¢ºãã«æ£ããã§ãã
ãããçŸåšã®ïŒ/æ°ããïŒæ§æã®é©åãªå®å šãªçœ®ãæãã«ãªããšã¯æããŸãããã ããããããã¯çŽ æŽãããè¿œå ã«ãªãã§ãããã
çŽææ§ã«é¢ããBoscopã®ã³ã¡ã³ãã«åæããå¿ èŠããããŸãã ãå«ããããé€ãããªã©ã®åèªãé€ãã°ãæ¥åžžã®è±èªã§ã¯ãå æ¬çç¯å²ãšæä»çç¯å²ãæ確ã«åºå¥ããŠããªããããæ¢æã®ã·ã§ãŒãã«ããããããŸãã
ãAããBãã䜿çšãããæèã§äœ¿çšãããªãéãããAããBããããã«ããã®ãªã³ã¿ãªãªå·åéšã§ã®æ¥åžžã®ã¹ããŒãã®å æ¬çãŸãã¯æä»çãªç¯å²ãæå³ãããã©ããã¯ãããŸãã§ãããããŸã§ããé¢é£ä»ããããŠããŸããã®ç·©ãã®æå³ã§äœ¿çšããå Žåãããã¯äžæã ããšåŒ·ãååãªæéãæã€ãã©ããããã€ãã³ãããšãããæã ã¯Xã衚瀺ããããŸã§ããŸãã¯ãæã ã¯Xã®åŠçãå®äºãããŸã§ãããããšä»²éãã«ãªããŸã§ãã
@ hyst329ãã ããã¡ãœãããšããŠãããã䜿çšãããšãç¯å²ãæ°å€ã¿ã€ãã«å¶éãããŸãã æ°å€ã®ç¯å²çšã«1ã€ã®æ§æã䜿çšããããä»ã®ç¯å²çšã«å¥ã®æ§æã䜿çšãããããå¿ èŠã¯ãããŸããã
ç¯å²ãäœæããããã®ãã¬ãªã¥ãŒãã«æ°ãããã£ãããªãŒã«ç¹æ§ãè¿œå ã§ãããšæããŸãããããã§ãå®éã®to
until
ã¡ãœãããš
ç§ã¯åçœããŸããç§ã¯ããŒã¯ãŒãã®ææ¡ããšã€ããªã«ããŒã«ã®åè«ã ãšæããŸããã
.. =æ§æãå®å®ããŸããã
13:53ã®æšã2018幎4æ5æ¥ã«ã¯ãããããã»ãã¹ã®[email protected]ã¯æžããŸããïŒ
@ hyst329https ïŒ//github.com/hyst329ã¡ãœãããšããŠãããã䜿çšãããšå¶éãããŸã
ãã ããç¯å²ã¯æ°å€ã¿ã€ãã§ãã ç§ã¯æ¬åœã«1ã€ã®æ§æãæã£ãŠããããªã
æ°ã®ç¯å²ãšä»ã®ãã®ã®ç¯å²ã®ããã®å¥ã®ãã®ãäœæããããã®ãã¬ãªã¥ãŒãã«æ°ãããã£ãããªãŒã«ç¹æ§ãè¿œå ã§ãããšæããŸã
ç¯å²ããããŸãããããã¯ãŸã æã£ãŠãããã®ã®ããã®ç Žå£çãªå€åã«åãã£ãŠããŸã
å®éã®ã¡ãœãããšãŸã§ã®ã¡ãœãããâ
ããªããèšåãããã®ã§ãããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/rust-lang/rust/issues/28237#issuecomment-379021814 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAC3nwBj-b985q1Ez0OHDEHkG6DWV_5nks5tlloZgaJpZM4F4LbW
ã
ããããã®åé¡ã«ã€ããŠ300以äžã®ã³ã¡ã³ãããããæåã®ã³ã¡ã³ãã«ã¯æ¬¡ã®ããã«æžãããŠããŸãã
ãã®ã¹ã¬ããã§ã¯ããã以äžæ§æã«ã€ããŠèª¬æããå¿ èŠã¯ãããŸããã ããã§æ¢åã®ã³ã¡ã³ããšãã®çè«çæ ¹æ ããã¹ãŠèªãã åŸãæä»çç¯å²æ§æã®ããŸããŸãªææ¡ããŠãŒã¶ãŒã®ãã©ãŒã©ã ãŸãã¯å éšãã©ãŒã©ã ã§è¡ãå¿ èŠããããŸãã ç¹ã«ãäžäœäºææ§ãç Žãããšã¯åå¿è ã§ã¯ãããŸããã
ãšãããããã®åé¡ãããã¯ããŸããã€ãŸå ãèžãã§ããå Žåã¯ç³ãèš³ãããŸããã
ãã®åé¡ã§ã«ããŒãããŠããããšã¯ãã¹ãŠå®äºããŠãããšæããŸãã ä»ã«åé¡ãããå Žåã¯ãåé¡ã®å ã®ã¡ãã»ãŒãžã®ãã§ãã¯ãªã¹ããå床éããŠæŽæ°ããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
langããŒã ã¯ãä»æ¥ã®äŒè°ã§ãã®æ©èœã«ã€ããŠå床話ãåãããããã次ã®ãããªãã¯ã¹ã«å°éããŸããã
ãã¿ãŒã³ã§
...
ããµããŒãããåŒã§..
ããµããŒãããã ãã§ãä»ã«ã¯äœãã§ããŸããã ããã«ããããŠãŒã¶ãŒã¯æ§æãæ©èœããªãããšãæåŸ ããããã«ãªããŸããäž¡æ¹ã®å Žæã§
...
ãš..
ãèš±å¯ããããšã¯åœ¹ã«ç«ã¡ãŸããããªããã€ã¯ã³ã®åé¡ã¯æ¬åœã®æžå¿µäºé ã§ãã ç§ãã¡ã®èª°ããã誀ã£ãæéã远跡ããã®ã«äœæéãè²»ãããŠãã人ã ã®å ±åãåãåãããã£ãŠããŸããã..=
ãš..
移åãããšãèŠãç®ã¯ããŸãé åçã§ã¯ãããŸããããäžèšã®éåžžã«çŸå®çãªåé¡ãåé¿ã§ããŸãã éåžžã«ç©ãããªæ¹æ³ã§å±éããããšãã§ããŸããæåã«ä»£æ¿æ§æãšããŠ..=
ãå°å ¥ãïŒrustfmtã¯ããã«æžãæããããšãã§ããŸãïŒãæ £çšçã«ãªã£ãåŸã§ã®ã¿...
å»æ¢ããŸããããããªãå Žåã¯ãããŒã ã¯
..=
ãš..
ãæåã®éã ãšæããŠããŸãã ãã®åé¡ã¯ãæ°ããè°è«ãæèµ·ãããå¯èœæ§ãéåžžã«äœããšããç¹ã§ãè°è«ãããŠããã®ã§ãæãåã£ãŠæºåãã§ããŠããŸããäž¡æ¹ã«..=
è¡šèšãå®è£ ããã人ãæ¢ããŠããŸããã¿ãŒã³ãšè¡šçŸããããŠç¶ããŠFCPã«è¡ããŸãïŒ