Skip to content
Snippets Groups Projects
Select Git revision
  • 43fa427a7532efa93341b1be6c229e261cd0c8a4
  • master default
2 results

14_ko.html

Blame
  • 14_ko.html 7.79 KiB
    <!DOCTYPE html>
        <html lang="ko">
        <head>
            <title>Rust 튜토리얼 - 자기주도프로젝트</title>
    
            <meta charset="UTF-8">
            <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
            <meta content="utf-8" http-equiv="encoding">
            <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
            <meta name="keywords" content="Rust, Programming, Learning">
            <meta name="description" content="Rust tutorial website based on tour_of_rust by 최석원">
            <meta name="theme-color" content="#ff6801"/>
            <meta http-equiv="Cache-Control" content="max-age=3600">
            
            <link rel="stylesheet" href="tour.css">
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/night-owl.min.css">
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.1/css/all.min.css">
            
            <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
            <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
            <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
            <link rel="/manifest" href="./site.webmanifest">
            
            <script src="//unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
    
            <script src="./tour.js" defer></script>
            <!-- <script>hljs.highlightAll();</script> -->
            <script src="./highlight.badge.min.js"></script>
        </head>
        <body>
            <div class="tour">
                <div class="header">
                    <span class="title"><a href="index.html">Rust 튜토리얼</a></span>
                    <span class="nav">
                    <span class="toc"><a href="TOC_ko.html">목차</a></span>
                </div>
                <div class="page">
                <h1>if, while, for</h1>
                <p><strong>반복문과 조건문</strong></p>
    <p>조건문과 반복문은 프로그램의 흐름을 제어하는 데 사용되는 기본적인 구조입니다.</p>
    <p>Rust에서는 if, while, for 문을 사용하여 조건문과 반복문을 작성할 수 있습니다.</p>
    <h2 id="if">if 문</h2>
    <p>if 문은 주어진 조건이 참인 경우에만 코드 블록을 실행합니다.</p>
    <pre><code class="rust">if 조건 {
        // 조건이 참일 때 실행할 코드
    }</code></pre>
    <h2 id="while">while 문</h2>
    <p>while 문은 주어진 조건이 참인 동안 코드 블록을 계속 반복해서 실행합니다.</p>
    <pre><code class="rust">while 조건 {
        // 조건이 참인 동안 반복할 코드
    }</code></pre>
    <h2 id="for">for 문</h2>
    <p>for 문은 반복 가능한 객체(예: 범위, 벡터 등)를 순회하며 코드 블록을 실행합니다.</p>
    <pre><code class="rust">// Range를 사용한 for 문
    for 변수 in 시작..끝_미포함 { // range(시작, 끝)
        // 코드 블록
    }
    
    for 변수 in 시작..=끝_포함 { // range(시작, 끝 + 1)
        // 코드 블록
    }</code></pre>
    <pre><code class="rust">// Loop 키워드를 사용한 무한 반복
    loop {
        // 무한 반복할 코드
        // 'break'를 사용해 반복을 종료할 수 있음
    }</code></pre>
    <h2 id="label">레이블(label)</h2>
    <p>Rust에서 while, for, loop 문에서 이름을 지정하고 break할 수 있습니다.</p>
    <p>레이블은 <code>이름:</code> 형식으로 작성하며, break할 때 <code>break 이름;</code>을 사용합니다.</p>
    <p>이렇게 하면 중첩된 반복문에서 특정 반복문을 종료할 수 있습니다.</p>
    <pre><code class="rust">// 2 이상의 소수를 찾아 출력하는 프로그램
    fn main() {
        let mut number = 2;
    
        'search: loop {
            let mut is_prime = true;
    
            'check_prime: for i in 2..number {
                if number % i == 0 {
                    is_prime = false;
                    break 'check_prime;
                }
            }
    
            if is_prime {
                println!("소수 발견: {}", number);
            }
    
            number += 1;
            if number &gt; 20 {
                break 'search;
            }
        }
    }</code></pre>
    <p>위 예제 동작 순서</p>
    <ul>
    <li><code>number</code> 변수를 2로 초기화합니다.</li>
    <li><code>search</code> 라는 이름의 loop 문에서 소수를 찾기 시작합니다.</li>
    <li><code>check_prime</code> 이라는 이름의 for 문에서 2부터 <code>number - 1</code> 까지 나누어 떨어지는지 확인합니다.</li>
    <li>만약 나누어 떨어진다면, <code>is_prime</code> 변수를 false로 설정하고 <code>check_prime</code> 레이블을 사용하여 for 문을 빠져나옵니다.</li>
    <li><code>is_prime</code> 이 true인 경우, 소수를 발견했으므로 해당 숫자를 출력합니다.</li>
    <li><code>number</code> 를 1 증가시키고, <code>number</code> 가 20보다 크면 <code>search</code> 레이블을 사용하여 loop 문을 빠져나옵니다.</li>
    </ul>
                <div class="bottomnav">
                    <span class="back"><a href="13_ko.html" rel="prev">❮ 이전</a></span>
                    <span class="next"><a href="15_ko.html" rel="next">다음 ❯</a></span>
                </div>
                </div>
                <div class="code">
                <iframe id="rust-playground" width="100%" src="https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&code=%23%5Ballow%28unused_assignments%29%5D%0A%0Afn+main%28%29+%7B%0A++++%2F%2F+%EB%A0%88%EC%9D%B4%EB%B8%94%EC%9D%84+%EC%82%AC%EC%9A%A9%ED%95%9C+while+%EB%AC%B8+%EC%98%88%EC%A0%9C%0A++++let+mut+x+%3D+0%3B%0A++++let+mut+y+%3D+0%3B%0A%0A++++%27outer_while%3A+while+x+%3C+5+%7B%0A++++++++y+%3D+0%3B%0A%0A++++++++while+y+%3C+5+%7B%0A++++++++++++if+x+*+y+%3E+10+%7B%0A++++++++++++++++println%21%28%22%EC%A1%B0%EA%B1%B4+%EB%A7%8C%EC%A1%B1%3A+x%3D%7B%7D%2C+y%3D%7B%7D%22%2C+x%2C+y%29%3B%0A++++++++++++++++break+%27outer_while%3B%0A++++++++++++%7D%0A++++++++++++y+%2B%3D+1%3B%0A++++++++%7D%0A%0A++++++++x+%2B%3D+1%3B%0A++++%7D%0A%0A++++%2F%2F+%EB%A0%88%EC%9D%B4%EB%B8%94%EC%9D%84+%EC%82%AC%EC%9A%A9%ED%95%9C+for+%EB%AC%B8+%EC%98%88%EC%A0%9C%0A++++%27outer_for%3A+for+x+in+0..5+%7B%0A++++++++for+y+in+0..5+%7B%0A++++++++++++if+x+*+y+%3E+10+%7B%0A++++++++++++++++println%21%28%22%EC%A1%B0%EA%B1%B4+%EB%A7%8C%EC%A1%B1%3A+x%3D%7B%7D%2C+y%3D%7B%7D%22%2C+x%2C+y%29%3B%0A++++++++++++++++break+%27outer_for%3B%0A++++++++++++%7D%0A++++++++%7D%0A++++%7D%0A%0A++++%2F%2F+%EB%A0%88%EC%9D%B4%EB%B8%94%EC%9D%84+%EC%82%AC%EC%9A%A9%ED%95%9C+loop+%EB%AC%B8+%EC%98%88%EC%A0%9C%0A++++let+mut+x+%3D+0%3B%0A++++let+mut+y+%3D+0%3B%0A%0A++++%27outer_loop%3A+loop+%7B%0A++++++++y+%3D+0%3B%0A%0A++++++++loop+%7B%0A++++++++++++if+x+*+y+%3E+10+%7B%0A++++++++++++++++println%21%28%22%EC%A1%B0%EA%B1%B4+%EB%A7%8C%EC%A1%B1%3A+x%3D%7B%7D%2C+y%3D%7B%7D%22%2C+x%2C+y%29%3B%0A++++++++++++++++break+%27outer_loop%3B%0A++++++++++++%7D%0A%0A++++++++++++y+%2B%3D+1%3B%0A++++++++++++if+y+%3E%3D+5+%7B%0A++++++++++++++++break%3B%0A++++++++++++%7D%0A++++++++%7D%0A%0A++++++++x+%2B%3D+1%3B%0A++++++++if+x+%3E%3D+5+%7B%0A++++++++++++break%3B%0A++++++++%7D%0A++++%7D%0A%7D%0A" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" title="Rust Playground" loading="lazy"></iframe>
                </div>
            </div>
            <script>
            var pres = document.querySelectorAll("pre>code");
            for (var i = 0; i < pres.length; i++) {
                hljs.highlightElement(pres[i]);
            }
            var options = {
                loadDelay: 0,
                copyIconClass: "far fa-clipboard",
                checkIconClass: "fa fa-check text-success",
                blogURL: "http://rust-study.ajousw.kr/"
            };
            window.highlightJsBadge(options);
            </script>
    
            <footer>
              <p><a target="_blank" rel="noopener" href="https://www.youtube.com/c/SoftwareToolTime">아주대학교 Software Tool Time</a> - Rust 튜토리얼 (Basic)</p>
            </footer>
        </body>
    </html>