ã€å‹•画投稿】マイクラã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã—ã¦éŠã³ã¾ã—ょㆠ#3を投稿ã—ã¾ã—ãŸ
マイクラã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã—ã¦éŠã³ã¾ã—ょㆠ#3 ~コードを書ã“ã†ç·¨ï½ž
çŸã„プãƒã‚°ãƒ©ãƒ を書ã„ã¦ã€ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚’体験ã—ã¾ã—ょã†ã€‚ ã¾ãšã¯ã€ã‚¿ãƒ¼ãƒˆãƒ«ã‚’自由ã«å‹•ã‹ã™ãƒ—ãƒã‚°ãƒ©ãƒ ã«ã¤ã„ã¦ã§ã™ã€‚
ニコニコ動画ã¯ã“ã¡ã‚‰
Youtubeã¯ã“ã¡ã‚‰
å‹•ç”»ä¸ã§ä½¿ã£ãŸPPTファイル(PDFå¤‰æ›æ¸ˆã¿ï¼‰ã¯ã“ã¡ã‚‰
ã€å‹•画投稿】マイクラã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã—ã¦éŠã³ã¾ã—ょㆠ#1 #2を投稿ã—ã¾ã—ãŸ
ã¯ã˜ã‚ã«
ã¨ã‚Šã‚ãˆãšã¯ãƒ–ãƒã‚°ã®ãƒã‚¿ã‚‚å«ã‚ã¦å‹•画撮りã€å…¬é–‹ã—ã¾ã—ãŸã€‚ ã“ã®ã”時世ã«ã€ã‚²ãƒ¼ãƒ 実æ³ã‚¹ã‚¿ã‚¤ãƒ«ã§ã¯ãªãガãƒãƒ‘ワーãƒã‚¤ãƒ³ãƒˆè³‡æ–™ä½µç”¨ã‚¹ã‚¿ã‚¤ãƒ«ã€‚
ComputerCraft導入編
プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã¨ã„ã†éŠã³ã®é…力説明ã€ComputerCraftã®ç´¹ä»‹ã€Twitchã®åŠ›ã‚’å€Ÿã‚ŠãŸãƒžã‚¤ã‚¯ãƒ©JEã¨CCã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¾ã§
å‹•ç”»
動画内ã§ä½¿ã£ãŸPPT(PDFå¤‰æ›æ¸ˆã¿ï¼‰
タートルã«å‘½ä»¤ç·¨
ã‚¿ãƒ¼ãƒˆãƒ«ã®æº–å‚™ã‹ã‚‰ã€ã‚³ãƒžãƒ³ãƒ‰å…¥åŠ›ã€ã‚¿ãƒ¼ãƒˆãƒ«ã‚’自由ã«å‹•ã‹ã™ã¾ã§
å‹•ç”»
動画内ã§ä½¿ã£ãŸPPT(PDFå¤‰æ›æ¸ˆã¿ï¼‰
手続ãã«åå‰ã‚’ã¤ã‘ã¦ã‚„ã‚‹ã¨è‡ªä½œé–¢æ•°ãŒä½œã‚Šã‚„ã™ã„ã®ã§ã™
ã¯ã˜ã‚ã«
å‰å›žã‹ã‚‰ã ã„ã¶é–“ãŒã‚ãã¾ã—ãŸãŒã€åºŠãƒ–ãƒãƒƒã‚¯æ•·è¨ãƒ—ãƒã‚°ãƒ©ãƒ ã¯å½¹ç«‹ã£ã¦ã„ã¾ã™ã‹ï¼Ÿ
コマンド入力時ã«ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数を与ãˆã‚‹ã“ã¨ã§é•·ã•を指定ã§ãã‚‹ã®ä¾¿åˆ©ã§ã™ã‚ˆã。
今回ã¯ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®å†…å®¹ã‚’å†æ¤œè¨Žã—ã¦ã¿ã¾ã—ょã†ã€‚
床ブãƒãƒƒã‚¯æ•·è¨ãƒ—ãƒã‚°ãƒ©ãƒ
å‰å›žã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®å†æŽ²ã€‚
ãªã‹ãªã‹é•·ã„プãƒã‚°ãƒ©ãƒ ã§ã™ãŒã€ã‚„ã£ã¦ã„ã‚‹ã“ã¨è‡ªä½“ã¯æ„外ã¨ã‚·ãƒ³ãƒ—ルãªã®ã¯ã“れã¾ã§ã®ãƒ–ãƒã‚°è¨˜äº‹ã‚’èªã‚“ã§ã„ã‚‹ã¨ã‚ã‹ã‚Šã¾ã™ã‚ˆã。
ã§ã‚‚ã“ã‚“ãªã“ã¨ã‚’æ€ã„ã¾ã›ã‚“ã‹ï¼Ÿ
「ãªã‚“ã ã‹ã€åŒã˜ã‚ˆã†ãªã“ã¨ã‚’何度も繰り返ã—ã¦æ›¸ã„ã¦ãªã„?ã€
以å‰ã€ç¹°ã‚Šè¿”ã—for文を紹介ã—ãŸã¨ã(éŽåŽ»è¨˜äº‹ï¼‰ã«ã€ã€ŒåŒã˜æ‰‹ç¶šãを何度も書ãã®ã¯é¢å€’ãªã®ã§ã€ä»£ã‚りã«for文使ã£ã¦å›žæ•°æŒ‡å®šã—ã¦ç¹°ã‚Šè¿”ã™ã€æ–¹æ³•ã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã—ãŸã€‚for文を使ã†ã“ã¨ã§å†—é•·ã§ç„¡é§„ãªè¨˜è¿°ãŒæ¸›ã£ã¦ã€å…¨ä½“ãŒã™ã£ãりã—ã¾ã—ãŸã€‚
今回ã¯ã€ã¾ãŸåˆ¥ã®ã€ã™ã£ãã‚Šæ›¸ãæ–¹æ³•を説明ã—ã¾ã™ã€‚
冗長ãªéƒ¨åˆ†ã§ä½•ã‚’ã‚„ã£ã¦ã„ã‚‹ã®ã‹ä¸€è¨€ã§èª¬æ˜Žã—よã†
ã¾ãšç‰¹å¾´çš„ãªã®ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ãªæ‰‹ç¶šããŒã‚³ãƒ¼ãƒ‰ä¸ã«äºŒå›žå‡ºç¾ã—ã¦ã„ã‚‹ã“ã¨ã§ã™ã€‚
-- アイテムãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ for slot=1,16 do local kosuu = turtle.getItemCount( slot ) if (kosuu > 0) then turtle.select( slot ) break end end
行番å·ã§è¨€ã†ã¨ã€19〜26行目ã¨42〜49行目ã®äºŒç®‡æ‰€ã§ã™ã€‚åŒã˜å†…容を2回書ã„ã¦ã„ã‚‹ã®ã§ãªã‚“ã ã‹ç„¡é§„ãªæ°—ãŒã—ã¾ã™ã。
ã§ã¯ã“ã®æ‰‹ç¶šãã¯ä½•ã‚’ã‚„ã£ã¦ã„ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ
一言ã§è¦ç´„ã™ã‚‹ãªã‚‰ã°ã€ã€Œã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ã€æ‰‹ç¶šãã§ã™ã‚ˆã。
ã“ã®æ‰‹ç¶šãã«æ³¨ç›®ã—ã¦ã¿ã¾ã—ょã†ã€‚
手続ãã«åå‰ã‚’ã¤ã‘ã¦ã‚„ã‚‹
ã“ã®ã€Œã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ã€æ‰‹ç¶šãã§ã™ãŒã€ã‚³ãƒ¼ãƒ‰å…¨ä½“ã§ã¯ã€Œã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ã€æ‰‹ç¶šããŒäºŒç®‡æ‰€ã‚ã‚‹ã‚ã‘ã§ã€ãªã‚“ã¨ã‹ã“ã®ã€Œã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ã€æ‰‹ç¶šãã‚’çœç•¥ã—ã¦æ›¸ã方法を・・・。
・・・長ã„よï¼ä¸€è¨€ã˜ã‚ƒãªã„よï¼ã€€ã“ã®æ‰‹ç¶šãã«ã¯ã‚‚ã£ã¨çŸã„åå‰ã‚’ã¤ã‘ãªãŠã—ã¾ã—ょã†ã€‚
ãŸã¨ãˆã°ã¡ã‚‡ã£ã¨ã ã‘ã‹ã£ã“ã¤ã‘ã¦è‹±èªžã§åå‰ã‚’ã¤ã‘ã¾ã—ょã†ã‹ã€‚
「selectItemSlotã€(≒ select (an) item slot ≒ アイテムスãƒãƒƒãƒˆã‚’é¸æŠžã›ã‚ˆ)
ã¨ã‹ã©ã†ã§ã—ょã†ã€‚
æ–°ã—ã関数を定義ã™ã‚‹
プãƒã‚°ãƒ©ãƒ 言語ã§ã¯ã€ä½•åº¦ã‚‚ä½¿ã†æ±ºã¾ã‚Šåˆ‡ã£ãŸæ‰‹ç¶šãã‚’ã€é–¢æ•°ï¼ˆã‚µãƒ–ルーãƒãƒ³ã¨å‘¼ã¶ã“ã¨ã‚‚ã‚る)ã¨ã—ã¦å®šç¾©ã§ãã¾ã™ã€‚一度関数ã¨ã—ã¦å®šç¾©ã—ã¦ã—ã¾ãˆã°ã€ãã®é–¢æ•°ã¯ä½¿ã„放題ã¨ãªã‚Šã¾ã™ã€‚
è‡ªåˆ†ã§æ–°ã—ã関数を定義ã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®è¡¨è¨˜æ–¹æ³•を使ã„ã¾ã™ã€‚
function 関数å() ã‚„ã£ã¦æ¬²ã—ã„æ‰‹ç¶šãを書ã end
ã“ã®è¡¨è¨˜æ–¹æ³•を使ã£ã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã€ŒselectItemSlotã€é–¢æ•°ã‚’定義ã—ã¾ã—ょã†ã€‚
function selectItemSlot() -- アイテムãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ for slot=1,16 do local kosuu = turtle.getItemCount( slot ) if (kosuu > 0) then turtle.select( slot ) break end end end
今回ã¯ä¸Šè¨˜ã®ã‚ˆã†ã«ã€ã€Œfunction 関数å()ã€ã€œã€Œendã€ã®é–“ã«ã€ã€ŒselectItemSlotã€ã®å…·ä½“çš„ãªæ‰‹ç¶šãをコピペã—ã¾ã—ãŸã€‚
ãŸã ã“ã®ã¾ã¾ã ã¨ã€ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆï¼ˆè¡Œé ã®ç©ºç™½ã‚¹ãƒšãƒ¼ã‚¹ï¼‰ãŒä¸æƒã„ã§ä¸æ ¼å¥½ãªã®ã§ã€ä»¥ä¸‹ã®ã‚ˆã†ã«æ•´ãˆã¾ã—ãŸã€‚
function selectItemSlot() -- アイテムãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ for slot=1,16 do local kosuu = turtle.getItemCount( slot ) if (kosuu > 0) then turtle.select( slot ) break end end end
以下ã®ã‚ˆã†ã«ã‚·ãƒ³ãƒ—ルã«
ã“ã®ã‚ˆã†ã«æ–°ã—ã„関数「selectItemSlotã€ã‚’定義ã§ããŸã‚ã‘ã§ã™ã®ã§ã€ã“ã®æ–°é–¢æ•°ã‚’使ã£ã¦å†—é•·ãªæ‰‹ç¶šãã‚’ç½®ãæ›ãˆã‚‹ã¨ã“ã‚“ãªæ„Ÿã˜ã«ãªã‚Šã¾ã™ã€‚
-- 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰æŒ‡å®šã—ãŸæ©æ•°ã ã‘å‰ã«é€²ã‚€ for i=1,hosuu do -- アイテムãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ for slot=1,16 do local kosuu = turtle.getItemCount( slot ) if (kosuu > 0) then turtle.select( slot ) break end end turtle.placeDown() turtle.forward() end
上記ã®å†—é•·ãªè¡¨è¨˜ã‹ã‚‰
以下ã®ã‚ˆã†ãªã€é–¢æ•°ã‚’使ã£ãŸã‚·ãƒ³ãƒ—ルãªè¡¨è¨˜ã¸
-- 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰æŒ‡å®šã—ãŸæ©æ•°ã ã‘å‰ã«é€²ã‚€ for i=1,hosuu do selectItemSlot() turtle.placeDown() turtle.forward() end
ã“ã“ã§ã®ãƒã‚¤ãƒ³ãƒˆã¯ã€ä½œã£ãŸé–¢æ•°ã€ŒselectItemCountã€ã‚’実行ã™ã‚‹ãŸã‚ã«ã¯ã€æœ«å°¾ã«ã€Œ()ã€ã‚’ã¤ã‘ã¦ã€selectItemCount()
ã®ã‚ˆã†ã«æ›¸ãã“ã¨ã§ã™ã€‚「()ã€ã‚’忘れるã¨å®Ÿè¡Œã§ããªã„ã®ã§è¦æ³¨æ„。
自作関数を利用ã—ãŸå®Œæˆç‰ˆãƒ—ãƒã‚°ãƒ©ãƒ
最終的ã«ä»¥ä¸‹ã®ã‚ˆã†ãªãƒ—ãƒã‚°ãƒ©ãƒ ã«ãªã‚Šã¾ã™ã€‚
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã«ã¯3ã¤ã®é‡è¦ãªãƒã‚¤ãƒ³ãƒˆãŒã‚りã¾ã™ã€‚
ã¾ãšã‚³ãƒ¡ãƒ³ãƒˆã®------- Config ------
ã®ã‚ˆã†ãªåŒºåˆ‡ã‚Šç·šã«æ³¨ç›®ã—ã¾ã—ょã†ã€‚
注目ã™ã‚‹ã“ã¨ã§ã€ãƒ—ãƒã‚°ãƒ©ãƒ å…¨ä½“ã®æ§‹é€ ãŒä»¥ä¸‹ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šã¾ã™ã€‚
- Config 部: プãƒã‚°ãƒ©ãƒ 全体ã®è¨å®šãƒ‘ラメーターを記述ã™ã‚‹éƒ¨åˆ†ã€‚挙動を変ãˆã‚‹ãŸã‚ã«æ›¸ãæ›ãˆã¦ã‚‚良ã„。
- Functions 部: 全体をã™ã£ãりã¨è¡¨è¨˜ã™ã‚‹ãŸã‚ã«ã€æ–°ã—ã関数を定義ã™ã‚‹éƒ¨åˆ†ã€‚
- Main 部: 実際ã«ã‚³ãƒ³ãƒ”ュータãŒå®Ÿè¡Œã™ã‚‹æ‰‹ç¶šãを表記ã™ã‚‹éƒ¨åˆ†ã€‚
ã“ã®ã‚ˆã†ã«3部構æˆã«ãªã£ã¦ã„ã‚‹ã“ã¨ã«æ°—ã¥ãã“ã¨ãŒæœ€åˆã®ãƒã‚¤ãƒ³ãƒˆã§ã™ã€‚
2ã¤ç›®ã®ãƒã‚¤ãƒ³ãƒˆã¨ã—ã¦ã€ åˆã‚ã¦è¦‹ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’èªã¿è§£ã時ã«ã¯ã€ã“ã®Main部分ã‹ã‚‰å§‹ã‚ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚
Main部分をèªã‚“ã§ã„ãã†ã¡ã«ã€è¬Žã®ï¼ˆçŸ¥ã‚‰ãªã„)関数ãŒå‡ºã¦ããŸã‚‰ã€ãれã¯ãƒ—ãƒã‚°ãƒ©ãƒ 作æˆè€…ãŒä½œã£ãŸæ–°ã—ã„関数ã§ã‚ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚Functionéƒ¨ã«æˆ»ã£ã¦ãã®é–¢æ•°ã‚’探ã—ã€ä½•ã‚’ã™ã‚‹é–¢æ•°ãªã®ã‹è§£æžã—ã¾ã—ょã†ã€‚
ãªãŠã€è‡ªä½œé–¢æ•°ã®åå‰ã‚’「selectItemSlotã€ã®ã‚ˆã†ã«ã‚ã‹ã‚Šã‚„ã™ã„ã‚‚ã®ã«ã—ã¦ãŠã‘ã°ã€ã€Œã‚¢ã‚¤ãƒ†ãƒ ã®ã‚¹ãƒãƒƒãƒˆã‚’é¸ã‚“ã§ãれる関数ã€ã ã¨ã‚る程度推測ãŒã¤ãã¾ã™ã®ã§ã€Function部をèªã¾ãªãã¦ã‚‚全体ã®å‹•ããŒæŽ´ã‚るよã†ã«ãªã‚Šã¾ã™ã€‚
関数ã®åå‰ã¯ã€ãã®æŒ™å‹•を説明ã™ã‚‹ã‚ã‹ã‚Šã‚„ã™ã„ã‚‚ã®ã«ã™ã‚‹ã“ã¨ã‚’心ãŒã‘ã¾ã—ょã†ã€‚
ã¤ã¾ã‚Šã€ã€Œé–¢æ•°ã®åå‰ã¤ã‘ã¯é‡è¦ï¼ã€
3ã¤ç›®ã®ãƒã‚¤ãƒ³ãƒˆã¨ã—ã¦ã€é–¢æ•°ã®å®šç¾©ã¯å®Ÿéš›ã«ãã®é–¢æ•°ã‚’実行ã™ã‚‹ã‚ˆã‚Šã‚‚å‰ã§è¡Œã„ã¾ã—ょã†ã€‚ã¤ã¾ã‚Šã€é–¢æ•°ã‚’定義ã™ã‚‹Function部ã¯ã€å®Ÿéš›ã«ãれを実行ã™ã‚‹Main部よりもå‰ã«ç½®ãã“ã¨ãŒãƒã‚¤ãƒ³ãƒˆã§ã™ã€‚
èªè€…ã¸ã®å®¿é¡Œ
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ã€ä»–ã«ã‚‚冗長ãªè¨˜è¿°ãŒãŸãã•ã‚“ã‚りã¾ã™ã€‚
ãŸã¨ãˆã°ã€ä»¥ä¸‹ã®ã‚ˆã†ãªé–¢æ•°ã‚’Function部ã§å®šç¾©ã—ã¦ã€ãã®é–¢æ•°ã‚’使ã£ã¦ã‚·ãƒ³ãƒ—ãƒ«ã«æ›¸ãæ›ãˆã¦ã¿ã¾ã—ょã†ã€‚
- spreadBlockAndForward() : 真下ã«ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã—ã¦å‰ã«1æ©é€²ã‚€é–¢æ•°
- goRight() : å³ã«ç§»å‹•ã™ã‚‹ï¼ˆå³ã‚’å‘ã„ã¦å‰ã«1æ©é€²ã‚€ï¼‰é–¢æ•°
ãŠã¾ã‘
スピッツã®ã“ã®æ›²ã€‚ã„ã„よã。 (アフィ広告ã§ã¯ãªãAmazon商å“ã¸ã®ãŸã ã®ãƒªãƒ³ã‚¯ã§ã™ï¼‰

- アーティスト: スピッツ,è‰é‡Žæ£å®—
- 出版社/メーカー: ユニãƒãƒ¼ã‚µãƒ«J
- 発売日: 2002/10/16
- メディア: CD
- 購入: 1人 クリック: 31回
- ã“ã®å•†å“ã‚’å«ã‚€ãƒ–ãƒã‚° (113ä»¶) を見る
ã‚ã—ã®ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã¯16スãƒãƒƒãƒˆã¾ã§ã‚ã‚‹ãž
- ã¯ã˜ã‚ã«
- タートルã®ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã«ã¤ã„ã¦ã®åŸºç¤ŽçŸ¥è˜
- サンプルプãƒã‚°ãƒ©ãƒ 1
- サンプルプãƒã‚°ãƒ©ãƒ 2
- 床ブãƒãƒƒã‚¯æ•·è¨ãƒ—ãƒã‚°ãƒ©ãƒ ã®æ”¹å–„版
ã¯ã˜ã‚ã«
å‰å›žã¾ã§ã«åºŠãƒ–ãƒãƒƒã‚¯æ•·è¨ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’æ”¹é€ ã—ã¦ãã¾ã—ãŸãŒã€ 実ã¯ã‚ãˆã¦ã€è‡´å‘½çš„ãªå¼±ç‚¹ã«è§¦ã‚Œã¦ã„ãªã‹ã£ãŸã‚“ã§ã™ã‚ˆã。
・・・ã“れã€ã‚¿ãƒ¼ãƒˆãƒ«ã®1スãƒãƒƒãƒˆã®å®¹é‡ã§ã‚ã‚‹64個ã¾ã§ã—ã‹ãƒ–ãƒãƒƒã‚¯ã‚’æ•·è¨ã§ããªã„ã‚“ã§ã™ã€‚
ã¤ã¾ã‚Šã€
> yuka4 64
より大ããªæ•°ã¯ç„¡ç†ãªã‚“ã§ã™ã。 ã—ã‹ã‚‚ã“ã®å®Ÿè¡Œã§ã¯ã€ç‰‡é“64æ©åˆ†ã ã‘æ•·è¨ã—ã¦ã€å¾©è·¯ã¯ä½•ã‚‚ã›ãšå¸°ã£ã¦ãã¡ã‚ƒã„ã¾ã™ã€‚
タートルã¯ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã‚’16スãƒãƒƒãƒˆã‚‚æŒã£ã¦ã„ã‚‹ã®ã§ã™ã‹ã‚‰ã€ã“れらをã†ã¾ã活用ã—ãŸã„ã‚‚ã®ã§ã™ã€‚
タートルã®ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã«ã¤ã„ã¦ã®åŸºç¤ŽçŸ¥è˜
ã¾ãšã¯ã‚¿ãƒ¼ãƒˆãƒ«ã®ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã«æ³¨ç›®ã—ã¾ã—ょã†ã€‚

タートルã®ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã«ã¯16個ã®ã‚¹ãƒãƒƒãƒˆãŒã‚りãれãžã‚Œã«ç•ªå·ãŒã¤ã„ã¦ã„ã¾ã™ã€‚最åˆã‚¿ãƒ¼ãƒˆãƒ«ã¯ä¸€ç•ªå·¦ä¸Šã®ã‚¹ãƒãƒƒãƒˆç•ªå·1ã«æ³¨ç›®ã—ã¦ã„ã¾ã™ã€‚スãƒãƒƒãƒˆ1ãŒå°‘ã—ã ã‘å¤ªã„æž ã§å›²ã¾ã‚Œã¦ã„ã‚‹ã®ãŒãã®è¨¼ã«ãªã‚Šã¾ã™ã€‚
ã“ã®ã‚ˆã†ãªã‚¿ãƒ¼ãƒˆãƒ«ãŒæ³¨ç›®ã—ã¦ã„るスãƒãƒƒãƒˆã‚’ã€Œé¸æŠžã‚¹ãƒãƒƒãƒˆã€ã¨å‘¼ã³ã¾ã™ã€‚タートルãŒãƒ–ãƒãƒƒã‚¯ã‚’採掘ã—ãŸã‚Šãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã™ã‚‹ã¨ãã¯åŽŸå‰‡ã¨ã—ã¦ã“ã®é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’使ã„ã¾ã™ã€‚1
タートルãŒè‡ªåˆ†ã®ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã‚’æ“作ã™ã‚‹é–¢æ•°ã¯ãŸãã•ん用æ„ã•れã¦ã„ã‚‹ã®ã§ã™ãŒã€ä»Šå›žã¯ãã®ä¸ã§ã‚‚よã使ã†é–¢æ•°ã‚’抜粋ã—ã¦ç´¹ä»‹ã—ã¾ã—ょã†ã€‚
サンプルプãƒã‚°ãƒ©ãƒ 1
以下ãŒä»Šå›žã®ã‚µãƒ³ãƒ—ルプãƒã‚°ãƒ©ãƒ 「countSlots.luaã€ã«ãªã‚Šã¾ã™ã€‚
ã“れã¯ã€ã‚¿ãƒ¼ãƒˆãƒ«ãŒã‚¹ãƒãƒƒãƒˆ1ã‹ã‚‰16ã¾ã§é †ã«é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’変ãˆã¦ã„ãã€ãã®ã‚¹ãƒãƒƒãƒˆã«ã‚るアイテムã®å€‹æ•°ã‚’é †ã«è¡¨ç¤ºã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã™ã€‚
ã“ã‚“ãªå‹•画作ã£ã¦ã¿ãŸã€‚今回ã®ãƒ–ãƒã‚°ãƒã‚¿ã§ã™ã€‚#ComputerCraft #百億ã®ãƒžã‚¤ã‚¯ãƒ©ã¨åƒå„„ã®ã‚¿ãƒ¼ãƒˆãƒ« pic.twitter.com/jbrtynUWyz
— hevo2 and 🢠(@hevohevo) October 11, 2019
ãれã§ã¯ã“ã®ã‚µãƒ³ãƒ—ルプãƒã‚°ãƒ©ãƒ を解説ã—ã¾ã—ょã†ã€‚
ã¾ãšã¯ãƒ—ãƒã‚°ãƒ©ãƒ ä¸ã®2ã¤ã®æ–°ã—ã„関数を紹介ã—ã¾ã™ã€‚
関数å | 機能 |
---|---|
turtle.select(slotNum) | é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’ã€æŒ‡å®šã—ãŸã‚¹ãƒãƒƒãƒˆç•ªå·slotNumã«å¤‰æ›´ã™ã‚‹ã€‚ |
turtle.getItemCount(slotNum) | 指定ã—ãŸã‚¹ãƒãƒƒãƒˆç•ªå·slotNumã«ã‚るアイテムã®å€‹æ•°ã‚’è¿”ã™ã€‚ãªãŠã€ã‚¹ãƒãƒƒãƒˆç•ªå·ã‚’çœç•¥ã—ãŸã‚‰é¸æŠžã‚¹ãƒãƒƒãƒˆã®ã‚¢ã‚¤ãƒ†ãƒ 個数を返ã™ã€‚ |
プãƒã‚°ãƒ©ãƒ ã®åŸºæœ¬çš„ãªæ§‹é€ ã¯ã€2行目ã®for slot=1,16 do
ã‹ã‚‰6行目ã®end
ã§æŒŸã‚“ã 部分をã€ã‚«ã‚¦ãƒ³ã‚¿ãƒ¼å¤‰æ•°slotã®å€¤ã‚’1ã‹ã‚‰16ã¾ã§é †ã«å¢—ã‚„ã—ãªãŒã‚‰ã€åˆè¨ˆ16回繰り返ã™få½¢ã«ãªã‚Šã¾ã™ã€‚
ã¤ã¾ã‚Šä»¥ä¸‹ã®ã‚ˆã†ã«ã€å¤‰æ•°slotãŒ1ã‹ã‚‰16ã¾ã§å¤‰åŒ–ã—ãªãŒã‚‰ã€16回繰り返ã™ã‚ã‘ã§ã™ã。
- 変数slotãŒ1: é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’1ã«ã—ã¦ï¼ˆ3行目)ã€ãã®é¸æŠžã‚¹ãƒãƒƒãƒˆã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ4行目)ã€ãã®å€‹æ•°ã‚’ç”»é¢è¡¨ç¤ºï¼ˆ5行目)
- 変数slotãŒ2: é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’2ã«ã—ã¦ï¼ˆ3行目)ã€ãã®é¸æŠžã‚¹ãƒãƒƒãƒˆã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ4行目)ã€ãã®å€‹æ•°ã‚’ç”»é¢è¡¨ç¤ºï¼ˆ5行目)
- 変数slotãŒ3: é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’3ã«ã—ã¦ï¼ˆ3行目)ã€ãã®é¸æŠžã‚¹ãƒãƒƒãƒˆã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ4行目)ã€ãã®å€‹æ•°ã‚’ç”»é¢è¡¨ç¤ºï¼ˆ5行目)
- ・
- ・
- ・
- 変数slotãŒ16: é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’16ã«ã—ã¦ï¼ˆ3行目)ã€ãã®é¸æŠžã‚¹ãƒãƒƒãƒˆã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ4行目)ã€ãã®å€‹æ•°ã‚’ç”»é¢è¡¨ç¤ºï¼ˆ5行目)
ã•ã‚ã“れã§ã“れら2ã¤ã®ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªæ“作系関数ã®ä½¿ã„æ–¹ãŒç†è§£ã§ãã¾ã—ãŸã。ãれã§ã¯ã€å®Ÿéš›ã«ã€Œã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã€ã‚’作りã¾ã—ょã†ã€‚ã“れã¾ã§å¦ã‚“ã§ããŸforæ–‡ã¨if文を組ã¿åˆã‚ã›ã¦ä½¿ã„ã¾ã™ã€‚
サンプルプãƒã‚°ãƒ©ãƒ 2
以下ãŒã€ã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã‚る「selectItem.luaã€ã§ã™ã€‚
今回ã®ãƒ–ãƒã‚°ãƒã‚¿ã€2ã¤ç›®ã§ã™ã€‚#ComputerCraft #百億ã®ãƒžã‚¤ã‚¯ãƒ©ã¨åƒå„„ã®ã‚¿ãƒ¼ãƒˆãƒ« pic.twitter.com/cch3S0ZUNw
— hevo2 and 🢠(@hevohevo) 2019å¹´10月11æ—¥
ã‚ãŸã‚‰ã—ã„記述ãŒäºŒã¤ã‚りã¾ã™ã®ã§é †ã«è§£èª¬ã—ã¾ã—ょã†ã€‚
比較演算åã¨ã¯
ã¾ãšæ³¨ç›®ã—ã¦æ¬²ã—ã„ã®ã¯ã€5行目ã«ã‚ã‚‹ifæ–‡ã®ã€Œæ¡ä»¶å¼ã€ã§ã™ã€‚
å‰å›žã®è¨˜äº‹ã§ã¯ã€if 「æ¡ä»¶å¼ã€ then 「やã£ã¦æ¬²ã—ã„ã“ã¨ã€ end
ã¨ã„ã†ifæ–‡ã®åŸºæœ¬æ§‹é€ を紹介ã—ã€ã€Œæ¡ä»¶å¼ã€ã«ã€ŒçœŸï¼ˆtrue)ã€ã¾ãŸã¯ã€Œå½ï¼ˆfalse)ã€ãŒå…¥ã‚‹ã®ã ã¨ã„ã†è§£èª¬ã‚’ã—ã¾ã—ãŸã€‚
ä»Šå›žã¯æ¡ä»¶å¼ã¨ã—ã¦(kosuu > 0)
を記述ã—ã¦ã„ã¾ã™ã€‚
「>ã€ã¨ã„ã†ä¸ç‰å·ã¯ã€æ•°å¦ã®ä¸–界ã§ã¯ã€Œ5 > 3ã€ã®ã‚ˆã†ã«ä½¿ã£ã¦ã€ã€Œ5ã¯3よりも大ãã„ã€ã¨ã„ã†äº‹å®Ÿã‚’表ç¾ã™ã‚‹ã‚ã‘ã§ã™ãŒã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®ä¸–界ã§ã¯é•ã„ã¾ã™ã€‚
ç¾åœ¨ä½¿ã£ã¦ã„ã‚‹Lua言語ã§ã¯ã€ã€ŒA > Bã€ã¨è¨˜è¿°ã™ã‚‹ã“ã¨ã§ã€ŒAã¯Bよりも大ãã„ã‹ã©ã†ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã€ã—ã¾ã™ã€‚ã‚‚ã—ã“ã®è¨˜è¿°ï¼ˆA > Bï¼‰ãŒæ£ã—ã„ãªã‚‰ã°çœŸï¼ˆtrue)を返ã—ã€ã“ã®è¨˜è¿°ãŒé–“é•ã£ã¦ã„れã°å½ï¼ˆfalse)を返ã—ã¾ã™ã€‚
ã“ã®ã‚ˆã†ã«æ•°å¦ã®ä¸–界ã¨ãƒ—ãƒã‚°ãƒ©ãƒ ã®ä¸–界ã§ã€Œ>ã€ã®æŒ™å‹•ãŒé•ã†ã®ã§æ³¨æ„ã—ã¾ã—ょã†ã€‚Lua言語ã§ã¯ã€Œ>ã€ã®ã‚ˆã†ãªè¨˜å·ã‚’「比較演算åã€ï¼ˆå·¦å´ã¨å³å´ã‚’比較ã—ã¦æ¼”ç®—ã™ã‚‹è¨˜å·ã€ã®æ„味)ã¨å‘¼ã³ã¾ã™ã€‚
ã“ã®ä¸ç‰å·ä»¥å¤–ã«ã‚‚比較演算åã¯ã‚りã¾ã™ã€‚ä»–ã®æ¯”較演算åを知りãŸã„æ–¹ã¯ã‚³ã‚³ã‚’クリック
比較演算å | 機能 | 使用例(ã¨è¿”ã™å€¤ï¼‰ |
---|---|---|
> | å·¦ãŒå³ã‚ˆã‚Šå¤§ãã„ãªã‚‰çœŸï¼ˆå°ã•ã„ãªã‚‰å½ï¼‰ã‚’返㙠| 3 > 1 (→true ) |
< | å³ãŒå·¦ã‚ˆã‚Šå¤§ãã„ãªã‚‰çœŸï¼ˆå°ã•ã„ãªã‚‰å½ï¼‰ã‚’返㙠| 3 < 1 (→false ) |
>= | å·¦ãŒå³ä»¥ä¸Šãªã‚‰çœŸï¼ˆä»¥ä¸‹ãªã‚‰å½ï¼‰ã‚’返㙠| 3 >= 1 (→true ) |
<= | å³ãŒå·¦ä»¥ä¸Šãªã‚‰çœŸï¼ˆä»¥ä¸‹ãªã‚‰å½ï¼‰ã‚’返㙠| 3 <= 1 (→false ) |
== | å·¦ã¨å³ã®å€¤ãŒåŒã˜ãªã‚‰ã°çœŸï¼ˆé•ã†ãªã‚‰å½ï¼‰ã‚’返㙠| 4 == 2 (→false ) |
~= | å·¦ã¨å³ã®å€¤ãŒé•ã†ãªã‚‰ã°çœŸï¼ˆåŒã˜ãªã‚‰å½ï¼‰ã‚’返㙠| 4 ~= 2 (→false ) |
よãé–“é•ãˆã‚‹ã®ãŒæ¯”較演算å「==ã€ã§ã™ã€‚「=ã€ã ã¨å¤‰æ•°ã«ä»£å…¥ã™ã‚‹è¨˜å·ï¼ˆä»£å…¥æ¼”ç®—å)ã«ãªã‚‹ã®ã§ã”注æ„ãã ã•ã„。
比較演算åを使ã£ãŸkosuu > 0
ã¨ã„ã†å¼ã¯ã€å¤‰æ•°kosuuãŒ0より大ãã‘れã°çœŸï¼ˆtrue)を返ã—ã€0よりå°ã•ã‘れã°å½ï¼ˆfalse)を返ã—ã¾ã™ã€‚
ã¤ã¾ã‚Šä»Šå›žã¯ã€ã€Œkosuuã€ã®å€¤ãŒ0より大ãã‘れã°ï¼ˆã¤ã¾ã‚Šã€ã‚¢ã‚¤ãƒ†ãƒ 個数ãŒ1個以上)ãªã‚‰ã°ã€then 〜 end
ã®ä¸ã‚’処ç†ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
breakæ–‡ã¨ã¯
ã‚‚ã†ä¸€ã¤ã®æ–°ã—ã„記述ã¨ã—ã¦7行目ã®break
ãŒã‚りã¾ã™ã€‚
ã“ã®è¨˜è¿°ã‚’コンピュータãŒå‡¦ç†ã™ã‚‹ã¨foræ–‡ãŒå‡¦ç†é€”ä¸ã§ã‚ã£ã¦ã‚‚ã„ããªã‚Šãã®forã®å‡¦ç†ã‚’ã‚„ã‚ã¦forã®å¤–ã«æŠœã‘出ã™ï¼ˆãƒ–レークã™ã‚‹ï¼‰ã¨ã„ã†æŒ™å‹•ã«ãªã‚Šã¾ã™ã€‚
よã£ã¦ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®æŒ™å‹•を詳細ã«è¿½ã†ã¨
- 変数slotãŒ1: スãƒãƒƒãƒˆ1ã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ3行目)ã€ãã®å€‹æ•°ãŒ0より大ãã„ã‹ãƒã‚§ãƒƒã‚¯ï¼ˆ5行目)
- 変数slotãŒ2: スãƒãƒƒãƒˆ2ã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ3行目)ã€ãã®å€‹æ•°ãŒ0より大ãã„ã‹ãƒã‚§ãƒƒã‚¯ï¼ˆ5行目)
- 変数slotãŒ3: スãƒãƒƒãƒˆ3ã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ3行目)ã€ãã®å€‹æ•°ãŒ0より大ãã„ã‹ãƒã‚§ãƒƒã‚¯ï¼ˆ5行目)
- ・
- ・
- ・
- 変数slotãŒ16: スãƒãƒƒãƒˆ16ã®ã‚¢ã‚¤ãƒ†ãƒ 個数を変数kosuuã«ä»£å…¥ï¼ˆ3行目)ã€ãã®å€‹æ•°ãŒ0より大ãã„ã‹ãƒã‚§ãƒƒã‚¯ï¼ˆ5行目)
ã¨ã„ã†å‹•作をã™ã‚‹ã®ã§ã™ãŒã€ãれãžã‚Œã®ã‚¹ãƒãƒƒãƒˆã®å€‹æ•°ãƒã‚§ãƒƒã‚¯æ™‚(5行目)ã«0より大ãã„ã“ã¨ãŒã‚ã‹ã£ãŸã‚‰ã€ã‚¿ãƒ¼ãƒˆãƒ«ã®é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’ãã®ã‚¹ãƒãƒƒãƒˆã«å¤‰ãˆãŸå¾Œã€ã„ããªã‚Šforã®å‡¦ç†ã‚’抜ã‘ã¦å¤–ã«é£›ã³å‡ºã—ã¾ã™ã€‚ ãŸã¨ãˆslotãŒ1ã§ã‚ã‚ã†ã¨10ã§ã‚ã‚ã†ã¨ã€ifã®å‡¦ç†ã«ã‚ˆã£ã¦å¼·åˆ¶çš„forã®å‡¦ç†ã‚’䏿–ã—ã¦forã®å¤–ã«é£›ã³å‡ºã™ã¨ã“ã‚ãŒãƒã‚¤ãƒ³ãƒˆã§ã™
é¸æŠžã‚¹ãƒãƒƒãƒˆã‚’ãã®ã‚¹ãƒãƒƒãƒˆã«å¤‰ãˆã¦ã‹ã‚‰forã®å¤–ã«ãƒ–レークã™ã‚‹ã®ã§ã€ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã«ã‚ˆã£ã¦ã€ã€Œã‚¢ã‚¤ãƒ†ãƒ ãŒå…¥ã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã§ãã‚‹ã€ã‚ã‘ãªã®ã§ã™ã€‚
床ブãƒãƒƒã‚¯æ•·è¨ãƒ—ãƒã‚°ãƒ©ãƒ ã®æ”¹å–„版
ãれã§ã¯ã“れã¾ã§å¦ã‚“ã ã“ã¨ã‚’生ã‹ã—ã¦ã€ä»Šå›žã®èª²é¡Œã§ã‚る「yuka4ã€ãƒ—ãƒã‚°ãƒ©ãƒ を改善ã—ã€ä»¥ä¸‹ã®ã‚ˆã†ãªã€Œyuka5ã€ãƒ—ãƒã‚°ãƒ©ãƒ を作りã¾ã—ãŸã€‚
å…ƒã®ã€Œyuka4ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã¨ã®å¤‰æ›´ç‚¹ã¯2カ所ã§ã™ã€‚
turtle.placeDown()
ã¨ã„ã†ãƒ–ãƒãƒƒã‚¯ã‚’真下ã«è¨ç½®ã™ã‚‹é–¢æ•°ãŒã‚りã¾ã™ãŒã€ãã®é–¢æ•°ã®å®Ÿè¡Œç›´å‰ã«ã€ã“れã¾ã§å¦ã‚“ã§ããŸã€Œã‚¢ã‚¤ãƒ†ãƒ ã‚’æŒã£ã¦ã„るスãƒãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ã€å‡¦ç†ã‚’埋ã‚込んã§ã„ã¾ã™ã€‚
ã“ã®turtle.placeDown()
ãŒ2カ所ã‚ã‚‹ã®ã§ã€åŸ‹ã‚込んã ã®ã‚‚2カ所ã§ã™ã。
ã•ã‚ã“れã§ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã®å…¨ã¦ã®ã‚¹ãƒãƒƒãƒˆã‚’使ã£ã¦ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚16スãƒãƒƒãƒˆå…¨ã¦ã«64個ã®ãƒ–ãƒãƒƒã‚¯ã‚’入れã¦ãŠã‘ã°ã€åˆè¨ˆ1024個ã®ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã§ãã¾ã™ãï¼
-
ブãƒãƒƒã‚¯ã‚’採掘ã™ã‚‹æ™‚ã«ã“ã®ã‚¹ãƒãƒƒãƒˆãŒæº€ã‚¿ãƒ³ã ã£ãŸã‚Šä»–ã®ã‚¢ã‚¤ãƒ†ãƒ ã§åŸ‹ã¾ã£ã¦ã„る時ã«ã¯ã€ãã®éš£ã®ã‚¹ãƒãƒƒãƒˆã«å…¥ã‚Œã‚ˆã†ã¨ã—ã¾ã™ã€‚逆ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’è¨ç½®ã—よã†ã¨ã—ãŸæ™‚ã«ã€ã“ã®ã‚¹ãƒãƒƒãƒˆãŒç©ºã£ã½ã ã£ãŸã‚Šè¨ç½®ã§ããªã„アイテムãªã‚‰ã°ã€è¨ç½®ã«å¤±æ•—ã—ã¾ã™ã€‚↩
ã‚‚ã—変数ã«ä½•ã‹å…¥ã£ã¦ã„ã‚‹ãªã‚‰ã°ãƒ»ãƒ»ãƒ»ãˆï¼Ÿç„¡ãŒå…¥ã£ã¦ã„ã‚‹ã®ï¼Ÿ
- ã¯ã˜ã‚ã«
- 何も入ã£ã¦ãªã„ãŒå…¥ã£ã¦ã‚‹
- エラーãŒå‡ºãªã„よã†ã«æ”¹é€ ã™ã‚‹
- ifæ–‡ã®ç°¡å˜ãªä½¿ã„æ–¹
- サンプルプãƒã‚°ãƒ©ãƒ ã®è©³ç´°è§£èª¬
- 真å½å€¤
- サンプルプãƒã‚°ãƒ©ãƒ ã®è§£èª¬
- プãƒã‚°ãƒ©ãƒ ã®æœ€çµ‚å½¢
ã¯ã˜ã‚ã«
å‰å›žè¨˜äº‹ã‹ã‚‰ã—ã°ã‚‰ã時間ãŒãŸã¡ã¾ã—ãŸãŒã„ã‹ãŒãŠéŽã”ã—ã§ã—ょã†ã‹ã€‚
å‰å›žç´¹ä»‹ã—ãŸã€Œyuka3ã€ãƒ—ãƒã‚°ãƒ©ãƒ 活用ã—ã¦ã¾ã™ï¼Ÿ
シンプルã§ä¾¿åˆ©ã§ã™ã‚ˆã。10æ©åˆ†ã®åºŠãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãŸã„(往復ã§2列)ãªã‚‰ã€ã“ã†ã€‚
> yuka3 10
以下ã®ã‚ˆã†ã«16æ©åˆ†ã§ã‚‚å•題ãªã—。ãŸã ã—ãã®åˆ†ã®ãƒ–ãƒãƒƒã‚¯32個(= 16 × 2ï¼‰ã‚’ã‚¿ãƒ¼ãƒˆãƒ«ã«æ¸¡ã™ã®å¿˜ã‚Œãªã„ã§ãã ã•ã„ã。
> yuka3 16
ã§ã‚‚ã€ä½•度も使ã£ã¦ã„ã‚‹ã†ã¡ã«ã“ã‚“ãªã“ã¨ã‚„らã‹ã—ã¾ã›ã‚“ã§ã—ãŸï¼Ÿ
> yuka3

ã¤ã¾ã‚Šã€å¼•æ•°ãªã—ã§ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ を実行ã—ãŸã‚‰ã€ã€Œã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®13行目:foræ–‡ã®çµ‚ç«¯å€¤ã¯æ•°å—ã§ãªã„ã¨ã„ã‘ã¾ã›ã‚“ã€ã¨ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•れãŸã‚ã‘ã§ã™ã。
ã¡ã‚‡ã£ã¨13行目を確èªã—ã¾ã—ょã†ã€‚
for i=1,hosuu do
ã¤ã¾ã‚Šã€å¤‰æ•°hosuuã®å€¤ãŒæ•°å€¤ã§ã¯ãªã„ã¨ã€‚ãれã¯å½“ãŸã‚Šå‰ã§ã™ã‚ˆã。6行目ã§local hosuu = ...
ã®ã‚ˆã†ã«ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数を変数hosuuã«ä»£å…¥ã—ã¦ã„ã¾ã™ãŒã€ãã‚‚ãも引数を入力ã—ã¦ãªã„ã®ã§ã€ãã®å€¤ã‚’代入ã™ã‚‹å¤‰æ•°hosuuã®å€¤ãŒæ•°å€¤ãªã‚ã‘ãŒã‚りã¾ã›ã‚“。
何も入ã£ã¦ãªã„ãŒå…¥ã£ã¦ã‚‹
ã§ã¯ä½•ãŒå¤‰æ•°hosuuã«å…¥ã£ã¦ã„ã‚‹ã®ã§ã—ょã†ã‹ã€‚
çµè«–ã‹ã‚‰è¨€ã†ã¨ä½•ã‚‚å…¥ã£ã¦ã„ã¾ã›ã‚“。
ã„ãˆã€æ£ç¢ºã«è¨€ã†ã¨ã€Œä½•ã‚‚ãªã„ã€ã¨ã„ã†æƒ…å ±ãŒã“ã®å¤‰æ•°ã«å…¥ã£ã¦ã„ã¾ã™ã€‚
ãれをLua言語ã§ã¯ã€Œnilã€ï¼ˆãƒ‹ãƒ«ï¼‰ã¨å‘¼ã³ã¾ã™ã€‚ã¤ã¾ã‚ŠLua言語ã§ã¯ã€ã€Œä½•ã‚‚ãªã„(無)ã€ã‚’nilã¨ã—ã¦è¡¨ç¾ã™ã‚‹ã‚ã‘ã§ã™ã。覚ãˆã¦ãŠãã¾ã—ょã†ã€‚1
「無ã€(nil)ã¯å½“ç„¶ãªãŒã‚‰æ•°å€¤ã§ã¯ã‚りã¾ã›ã‚“。ãã®ãŸã‚コードã®13行目ã§ã€ã€Œforæ–‡ã®çµ‚ç«¯å€¤ã¯æ•°å—ã§ãªã„ã¨ã„ã‘ã¾ã›ã‚“ã€ã¨ã‚¨ãƒ©ãƒ¼ãŒå‡ºã¦ã—ã¾ã£ãŸã‚ã‘ã§ã™ã。
表示ã•れるエラーメッセージã¯ãƒ—ãƒã‚°ãƒ©ãƒ ã®ãƒŸã‚¹ã‚’発見ã™ã‚‹ã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚特ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸè¡Œç•ªå·ã®æƒ…å ±ã¯é‡è¦ã§ã™ã€‚ãã®å ´æ‰€ã‚’ä¸å¿ƒã«ã€ãªãœãã®ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ãŒèµ·ããŸã®ã‹ãƒŸã‚¹ã‚’推測ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã‹ã‚‰ã§ã™ã€‚2
エラーãŒå‡ºãªã„よã†ã«æ”¹é€ ã™ã‚‹
ãれã§ã¯ã“ã®ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ãŒã§ãªã„よã†ã«ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’æ”¹é€ ã—ã¾ã—ょã†ã€‚
æ”¹é€ ã®ã‚„り方ã¯ã„ã‚ã‚ã‚‹ã®ã§ã™ãŒã€ã“ã“ã§ã¯ã€ã€Œå¤‰æ•°ã®åˆæœŸå€¤ã‚’決ã‚ã¦ãŠã„ã¦ã€å¼•æ•°ãŒå…¥åŠ›ã•れãŸã¨ãã ã‘ãã®å€¤ã«å¤‰æ›´ã™ã‚‹ã€æ–¹å‘をオススメã—ã¾ã™ã€‚
ã¤ã¾ã‚Šã€æ¬¡ã®ã‚ˆã†ãªã‚¤ãƒ¡ãƒ¼ã‚¸ã€‚
- ã‚らã‹ã˜ã‚ã€å¤‰æ•°hosuuã®å€¤ã‚’6ã«æ±ºã‚ã¦ãŠã(数値ã¯ä½•ã§ã‚‚好ãã«ã©ã†ãžï¼‰ã€‚
- ã‚‚ã—引数ã«ä½•ã‹å…¥åŠ›ã•れãŸã‚‰ãれを変数hosuuã®å€¤ã«ä»£å…¥ã™ã‚‹ï¼ˆã¤ã¾ã‚Šã€ä½•も入力ã•れãªã‹ã£ãŸã‚‰ä½•ã‚‚ã—ãªã„)。
ã¨ã„ã†æµã‚Œã§ã™ã€‚
ifæ–‡ã®ç°¡å˜ãªä½¿ã„æ–¹
「もã—◯◯◯ãªã‚‰ã°ã€â–³â–³â–³ã‚’ã™ã‚‹ã€
プãƒã‚°ãƒ©ãƒ ã§ã¯ã“ã®ã‚ˆã†ãªæ§‹æ–‡ã‚’よã使ã„ã¾ã™ã€‚3 ã“ã®ã‚ˆã†ãªæ§‹æ–‡ã‚’表記ã™ã‚‹ã«ã¯ã€ã€Œæ¡ä»¶åˆ†å² if æ–‡ã€ã‚’利用ã—ã¾ã™ã€‚ã“ã®if文自体ã¯å°‘々複雑ãªã®ã§ã™ãŒã€ã¾ãšã¯ã‚·ãƒ³ãƒ—ルãªãƒ—ãƒã‚°ãƒ©ãƒ ã§ifæ–‡ã®åŸºæœ¬çš„ãªä½¿ã„方をå¦ã³ã¾ã—ょã†ã€‚
以下ã®ãƒ—ãƒã‚°ãƒ©ãƒ を「if0.luaã€ã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒ åã§ä¿å˜ã—ã¦ã€æ§˜ã€…ãªå¼•数を入力ã—ã¦å®Ÿè¡Œã—ã¦ã¿ã¾ã—ょã†ã€‚ãªãŠã€--
ã§å§‹ã¾ã‚‹è¡Œã¯ã‚³ãƒ¡ãƒ³ãƒˆã§ã™ã—ã€è¡Œã®é€”ä¸ã‹ã‚‰--
ãŒå…¥ã£ã¦ã„ã‚‹ã¨ãã¯ãã®--
以é™ã¯ã‚³ãƒ¡ãƒ³ãƒˆã§ã™ã€‚
以下ã€å®Ÿè¡Œä¾‹ã€‚
> if0 10 10
> if0 20 20
> if0 6
ã“ã®ã‚ˆã†ã«ã€Œ10ã€ã¨ã‹ã€Œ20ã€ã¨ã‹å¼•数を与ãˆã¦å®Ÿè¡Œã™ã‚‹ã¨ã€ãã®å¼•数を最終的ã«å¤‰æ•°hosuuã«ä»£å…¥ã—ã¦ãã®å€¤ã‚’表示ã—ã¾ã™ã€‚ã¾ãŸã€å¼•数を与ãˆãªã„ã¨å¤‰æ•°hosuuã®åˆæœŸå€¤ã§ã‚ã‚‹6ã‚’ãã®ã¾ã¾è¡¨ç¤ºã™ã‚‹ã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã™ã€‚
サンプルプãƒã‚°ãƒ©ãƒ ã®è©³ç´°è§£èª¬
ã¾ãš3ã€4行目ã®å¤‰æ•°å®šç¾©éƒ¨åˆ†ã¯ã€ã“ã“ã¾ã§è¨˜äº‹ã‚’èªã¿é€²ã‚ã¦ããŸäººãªã‚‰ã°ä½•ã‚‚å•題ãªãç†è§£ã§ãã‚‹ã¨æ€ã„ã¾ã™ã€‚
(注æ„ã—ãŸã„ã®ã¯ã€3行目ã®è¡¨è¨˜ã«ã‚ˆã£ã¦ã€Œä¸€ç•ªç›®ã®å¼•æ•°ã€ãŒå¤‰æ•°arg1ã«ä»£å…¥ã•れるã“ã¨ã§ã™ã€‚引数を複数入力ã—ã¦ã‚‚ã€ä¸€ç•ªç›®ã®ã‚‚ã®ã ã‘å–り出ã—ã¾ã™ï¼‰
次ã«ifæ–‡ã§ã™ãŒã€ã“ã‚Œã¯æ¬¡ã®ã‚ˆã†ãªæ§‹é€ ã‚’ã—ã¦ã„ã¾ã™ã€‚
if 「æ¡ä»¶å¼ã€ then 「やã£ã¦æ¬²ã—ã„ã“ã¨ï¼ˆè¤‡æ•°ã‚‚å¯ï¼‰ã€ end
if
ã€then
ã€end
ã®3ã¤ã®ã‚ーワードãŒå¿…é ˆã§ã™ã®ã§ä½ç½®ã‚‚å«ã‚ã¦ã—ã£ã‹ã‚Šã¨è¦šãˆã¾ã—ょã†ã€‚
ã•ã¦ã€ã“ã®ã€Œã‚„ã£ã¦æ¬²ã—ã„ã“ã¨ã€ã«ã¤ã„ã¦ã¯ã€å¥½ããªã“ã¨æ›¸ã‘ã°ã„ã„ã®ã§å•題ãªã„ã¨ã—ã¦ã€å›°ã£ãŸã®ã¯ã€Œæ¡ä»¶å¼ã€ã«ãªã‚Šã¾ã™ã€‚ã“れã¯ä½•ã§ã—ょã†ã‹ï¼Ÿ
真å½å€¤
Lua言語ã«ãŠã‘る「æ¡ä»¶å¼ã€ã¯ã€çµæžœã¨ã—ã¦æœ€çµ‚çš„ã«ã€ŒçœŸã€ã¾ãŸã¯ã€Œå½ã€ã¨ãªã‚‹å¼ã‚’å–り扱ã„ã¾ã™ã€‚
・・・ã†ã‚“。難ã—ã„ã§ã™ã。ã¤ã¾ã‚Šã“ã®ã€Œæ¡ä»¶å¼ã€ã®éƒ¨åˆ†ã«ã¯çœŸï¼ˆtrue
)ã¾ãŸã¯å½ï¼ˆfalse
)ã®ã©ã¡ã‚‰ã‹ã®å€¤ã—ã‹å…¥ã‚‰ãªã„ã®ã§ã™ã€‚「真ã¨ã¯æ£ã—ã„ã€ã¨ã„ã†ã“ã¨ã€ã€Œå½ã¨ã¯é–“é•ã£ã¦ã„ã‚‹ã€ã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
ãã—ã¦ã“ã®çœŸå½å€¤ã«ã‚ˆã£ã¦ã€ifæ–‡ã¯æŒ™å‹•を変ãˆã‚‹ã®ã§ã™ã‚ˆï¼
ã¡ã‚‡ã£ã¨ä¾‹ã‚’示ã—ã¾ã—ょã†ã€‚
if true then print("shinndayo") end
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€ifæ–‡ã®ã€Œæ¡ä»¶å¼ã€éƒ¨åˆ†ã«ã€ŒçœŸ(true
)ã€ãŒã¯ã‚è¾¼ã¾ã‚Œã¦ã„る。ã ã‹ã‚‰ã“ã®ifæ–‡ã¯ç¶šã「then 〜 endã€ã®ä¸ã‚’処ç†ã™ã‚‹ã“ã¨ã«ãªã‚‹ã€‚ã ã‹ã‚‰ç”»é¢ã«"shinndayo"を表示ã™ã‚‹ã€‚
if false then print("shinndayo") end
逆ã«ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€ifæ–‡ã®ã€Œæ¡ä»¶å¼ã€éƒ¨åˆ†ã«ã€Œå½(false
)ã€ãŒã¯ã‚è¾¼ã¾ã‚Œã¦ã„る。ã ã‹ã‚‰ã“ã®ifæ–‡ã¯ç¶šã「then 〜 endã€ã®ä¸ã‚’èªã¿é£›ã°ã—ã¦ä½•ã‚‚ã—ãªã„。画é¢è¡¨ç¤ºã‚‚ãªã—。
ã¤ã¾ã‚Šã€if 「æ¡ä»¶å¼ã€ then 「やã£ã¦æ¬²ã—ã„ã“ã¨ã€ end
ã¨ã„ã†ifæ–‡ã¯ã€ã€Œæ¡ä»¶å¼ã€éƒ¨åˆ†ã«ã€ŒçœŸã€ãŒå…¥ã‚‹ã¨ã€Œã‚„ã£ã¦æ¬²ã—ã„ã“ã¨ã€ã‚’実行ã—ã€ã€Œå½ã€ãŒå…¥ã‚‹ã¨èªã¿é£›ã°ã—ã¦ã—ã¾ã†ã‚ã‘ãªã®ã§ã™ã€‚
ã•ã¦ã“ã“ã§ã€ã€ŒçœŸã€ã€Œå½ã€ã¨ã„ã†ãŠè©±ã‚’ã—ãŸã‚ã‘ã§ã™ãŒã€Lua言語ã§ã¯ã‚‚ã†å°‘ã—ã“ã®çœŸå½å€¤ã‚’柔軟ã«å–り扱ã£ã¦ã„ã¦ã€true
・false
以外ã«ã‚‚真å½ã®åˆ†é¡žã‚’広ãèªã‚ã¦ã„ã¾ã™ã€‚ãれを次ã®è¡¨ã§èª¬æ˜Žã—ã¾ã—ょã†ã€‚
å½ | 真 |
---|---|
false , nil |
 â†ã“ã®2ã¤ä»¥å¤–全部 |
出ã¾ã—ãŸnil
。ã“れã¯ã€Œç„¡ã„ã“ã¨ã€ã‚’示ã™ç‰¹æ®Šãªå€¤ã§ã—ãŸã。
Lua言語ã§ã¯ã€ã“ã®nil
ã¨false
ã¯ã€Œå½ã€ã¨ã—ã¾ã™ã€‚
ãã—ã¦ãれ以外ã®å…¨éƒ¨ã®å€¤ã‚’「真ã€ã¨ã—ã¾ã™ã€‚4
å˜ç´”明快ï¼ï¼ã‚·ãƒ³ãƒ—ルï¼ï¼
ã•ã‚ã“れã§å…¨ä½“を説明ã™ã‚‹ãŸã‚ã®ãƒ‘ーツã®èª¬æ˜ŽãŒæƒã„ã¾ã—ãŸã€‚ã¾ã¨ã‚ã¾ã—ょã†ã€‚
サンプルプãƒã‚°ãƒ©ãƒ ã®è§£èª¬
サンプルプãƒã‚°ãƒ©ãƒ ã‚’å†æŽ²ã—ã¾ã™ã€‚
ã¾ãšã€3行目ã§å¤‰æ•°arg1
ã®ä¸ã«å¼•æ•°ã®ä¸€ç•ªç›®ã‚’代入ã—ã¦ã„ã¾ã™ã€‚
ã‚‚ã—プãƒã‚°ãƒ©ãƒ 実行時ã«å¼•数を入力ã—ã¦ã„れã°ã“ã“ã«ã¯ã€Œä½•ã‹ï¼ˆçœŸï¼‰ã€ãŒä»£å…¥ã•れã¦ã„ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚逆ã«å¼•æ•°ãŒå…¥åŠ›ã•れã¦ã„ãªã‘れã°ã€ã€Œnil(å½ï¼‰ã€ãŒä»£å…¥ã•れã¦ã¾ã™ã€‚
4行目ã¯ã€å¤‰æ•°hosuu
ã®åˆæœŸå€¤ã¨ã—ã¦6ã‚’è¨å®šã—ã¦å®šç¾©ã—ã¦ã„ã¾ã™ã。
ã•ã‚ã€6行目ã®ifæ–‡ã¨ãã®æ¡ä»¶å¼ã§ã™ã€‚今回æ¡ä»¶å¼ã«ã¯arg1
ã‚’ã¯ã‚ã“ã‚“ã§ã„ã‚‹ã‚ã‘ã§ã“れãŒçœŸã‹å½ã‹ã§ifæ–‡ã¯æ¡ä»¶åˆ†å²ã™ã‚‹ã‚ã‘ã§ã™ã。
ã€å¼•æ•°ãŒå…¥åŠ›ã•れãŸã€ŒçœŸã€ã®ä¸–界】もã—引数ã«ä½•ã‹ã‚’入力ã—ã¦ã„れã°ã€arg1ã¯çœŸãªã®ã§ã€ã€Œthen 〜 endã€éƒ¨åˆ†ãŒå®Ÿè¡Œã•れã¾ã™ã€‚
ã¤ã¾ã‚Šã€hosuu = arg1
ã§ã™ã。arg1ã®å€¤ã‚’hosuuã«ä»£å…¥ã—ã¾ã™5。
ãã®çµæžœã€åˆæœŸå€¤ãŒ6ã ã£ãŸhosuuã¯ã€å¼•æ•°ã®å€¤ã«ã‚ˆã£ã¦ä¸Šæ›¸ãã•れã¾ã—ãŸã€‚
10行目。最終的ã«ç”»é¢ã«ã¯ã€å…¥åŠ›ã—ãŸå¼•æ•°ãŒãã®ã¾ã¾è¡¨ç¤ºã•れã¾ã™ã€‚
ã€å¼•æ•°ãŒå…¥åŠ›ã•れãªã‹ã£ãŸã€Œå½ã€ã®ä¸–界】ã•ã¦é€†ã«ã€å¼•æ•°ãŒå…¥åŠ›ã•れãªã‹ã£ãŸã‚‰arg1ã¯nilã§ã‚りå½ãªã®ã§ã€Œthen 〜 endã€ã¯èªã¿é£›ã°ã•れã¦ä¸‹ã®è¡Œã«é€²ã¿ã¾ã™ã€‚
ãã®çµæžœã€åˆæœŸå€¤6ã ã£ãŸhosuuã¯æ‰‹ä»˜ã‹ãšãã®ã¾ã¾ã§ã™ã€‚
10行目。最終的ã«ç”»é¢ã«ã¯ã€åˆæœŸå€¤6ãŒãã®ã¾ã¾è¡¨ç¤ºã•れã¾ã™ã€‚
プãƒã‚°ãƒ©ãƒ ã®æœ€çµ‚å½¢
ã“れã¾ã§ã®èª¬æ˜Žã‚’åæ˜ ã—ã¦æ”¹é€ ã—ãŸã€Œyuka4ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã™ã€‚
便利ã«ä½¿ã„倒ã—ã¾ã—ょã†ã€‚ãã—ã¦ã€ä¸ä¾¿ãªã¨ã“ã‚を見ã¤ã‘ã¾ã—ょã†ã€‚
次回ã¯ã‚‚ã£ã¨ä¾¿åˆ©ã«æ”¹é€ ã—ã¾ã™ã€‚
-
プãƒã‚°ãƒ©ãƒ 言語ã«ã‚ˆã£ã¦ã¯ã€ä½•も代入ã—ã¦ã„ãªã„å¤‰æ•°ï¼ˆåˆæœŸåŒ–ã—ã¦ãªã„変数)ã®ä¸ã«ä½•ãŒå…¥ã£ã¦ã„ã‚‹ã®ã‹ä¸å®šãªå ´åˆãŒã‚りã¾ã™ã€‚実際ã«ä¸ã‚’見るã¾ã§ä½•ã‹ã‚ã‹ã‚‰ãªã„ã¨ã‹æ€–ã£ï¼ã€€Lua言語ã§ã¯ã€ä½•も代入ã—ã¦ã„ãªã„変数ã®ä¸èº«ã¯ã€Œç„¡ã€ï¼ˆnilï¼‰ã¨æ±ºã¾ã£ã¦ã„ã¾ã™ã€‚↩
-
実際ã«ã‚¨ãƒ©ãƒ¼ãŒèµ·ããŸã®ã¯ãŸã—ã‹ã«ã“ã®è¡Œãªã®ã§ã™ãŒã€ãã®ã‚¨ãƒ©ãƒ¼ã®æ ¹æœ¬çš„ãªåŽŸå› ã¯ãれよりもå‰ã«ã‚ã‚‹ã“ã¨ãŒå¤šã„ã€ã¨ã„ã†ã“ã¨ã¯è¦šãˆã¦ãŠãã¾ã—ょã†ã€‚今回ã®ä¾‹ã§è¨€ã†ãªã‚‰ã°ã€ã€Œ13行目ã®ã‚¨ãƒ©ãƒ¼ã®åŽŸå› ã€ã¯ã€Œ6行目ã§å¼•数を変数ã«ä»£å…¥ã—ã¦ã„ã‚‹ã‘れã©ãã‚‚ãも引数を入力ã—ã¦ãªã‹ã£ãŸã€ã§ã™ã€‚↩
-
コンピュータã®ä¸–界ã§ã¯ã€ã‚³ãƒ¼ãƒ‰ä¸ã«ã€Œã‚‚ã—◯◯◯ãªã‚‰ã°â–³â–³â–³ã‚’ã™ã‚‹ã€ã¨ã—ã‹æ›¸ã‹ã‚Œã¦ã„ãªã‹ã£ãŸå ´åˆã€ã€Œâ—¯â—¯â—¯ã§ã¯ãªã„ã¨ãã€ã«ã¯ã€Œä½•ã‚‚ã—ã¾ã›ã‚“ã€ã€‚ã¤ã¾ã‚Šã‚³ãƒ³ãƒ”ュータã¯ã€å‘½ä»¤ã•れãªã„é™ã‚Šä½•ã‚‚ã—ãªã„ã¨ã„ã†ã®ãŒåŽŸå‰‡å‹•ä½œã¨ãªã‚Šã¾ã™ã€‚↩
-
nil
,false
以外ã®å…¨éƒ¨ã®å€¤ã‚’「真ã€ã¨ã™ã‚‹ã®ã¯ã¨ã¦ã‚‚シンプルã§ã™ãŒã€æ„外ã¨ãã›ã‚‚ã®ã§ã™ã€‚ãŸã¨ãˆã°æ•°å€¤1
ã‚„0
ã€æ–‡å—列"abc"
ã¯å½“ç„¶ãªãŒã‚‰çœŸã¨ã—ã¦ã€æ–‡å—列"false"
も真ã¨ãªã‚Šã¾ã™ï¼ˆ"“ã§å›²ã‚“ã§ã„ã‚‹ã®ãŒãƒã‚¤ãƒ³ãƒˆï¼‰ã€‚ã¾ãŸæ–‡å—列å³""
も真ã§ã™ï¼ˆã“れã¯ä¸èº«ãŒç©ºã£ã½ã®æ–‡å—列ã§ç©ºæ–‡å—ã¨å‘¼ã³ã¾ã™ï¼‰ã€‚ã„ã˜ã‚ã‚‹ï¼↩ -
ã“ã®ç‰å·ã€æ•°å¦ã®ä¸–界ã«ãŠã‘る「ç‰ã—ã„ã€ã®æ„味ã˜ã‚ƒãªã„ã§ã™ã‹ã‚‰æ°—ã‚’ã¤ã‘ã¦ï¼ãƒ—ãƒã‚°ãƒ©ãƒ 言語ã®ä¸–界ã§ã¯ã€ã€Œarg1ã®å€¤ã‚’hosuuã«ä»£å…¥ã™ã‚‹ã€ã®æ„味ã§ä½¿ã£ã¦ã„ã¾ã™ã€‚紛らã‚ã—ã„ã§ã™ãŒã€ç¾å®Ÿä¸–界ã£ã¦ãã‚“ãªã‚‚ã®ã§ã™ã€‚割り切ã£ã¦è¦šãˆã¾ã—ょã†ã€‚↩
コマンドライン引数ã®ä¾¿åˆ©ã•を万人ãŒçŸ¥ã‚‹ã¹ã
- ã¯ã˜ã‚ã«
- コマンド入力時ã«å¼•数を与ãˆãŸã„
- コマンドライン引数を使ã£ãŸã‚µãƒ³ãƒ—ルコード
- サンプルコードã®è©³ç´°è§£èª¬
- 床ブãƒãƒƒã‚¯è¨ç½®ãƒ—ãƒã‚°ãƒ©ãƒ ã«ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数を利用
- プãƒã‚°ãƒ©ãƒ 実行
- ãŠã‚りã«
ã¯ã˜ã‚ã«
å‰å›žã®è¨˜äº‹ã§ã¯ã€ãƒ—ãƒã‚°ãƒ©ãƒ 内ã§å¤‰æ•°ã‚’ä½¿ã†æ™‚ã®åŸºæœ¬ã‚’ãŠè©±ã—ã¾ã—ãŸã€‚
変数ã£ã¦ä¾¿åˆ©ã§ã™ã‚ˆã。
プãƒã‚°ãƒ©ãƒ ã®æŒ™å‹•を変ãˆã‚‹ãŸã‚ã«ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’ä½•ç®‡æ‰€ã‚‚æ›¸ãæ›ãˆã‚‹ã®ã¯ã¨ã¦ã‚‚é¢å€’ã§ã™ãŒã€å¤‰æ•°ã‚’使ã†ã“ã¨ã§ã€ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®å…ˆé éƒ¨åˆ†ã‚’ä¸€ç®‡æ‰€æ›¸ãæ›ãˆã‚‹ã ã‘ã§ã‚ˆããªã‚Šã¾ã—ãŸã€‚
ã“れã¯å°ã•ãªä¸€æ©ã§ã‚りãªãŒã‚‰ã€å¤§ããªé€²æ©ã§ã‚‚ã‚りã¾ã™ã€‚
ã—ã‹ã—ã€ãã‚‚ãも毎回プãƒã‚°ãƒ©ãƒ ã‚’æ›¸ãæ›ãˆã‚‹ã®ã£ã¦é¢å€’ã˜ã‚ƒãªã„ã§ã™ã‹ï¼Ÿ
ãã“ã§ä»Šå›žã®ãŠè©±ã§ã™ã€‚ã¾ãšã¯ä½•ãŒã‚„りãŸã„ã®ã‹ç›®æ¨™ã‚’示ã—ã¾ã—ょã†ã€‚
コマンド入力時ã«å¼•数を与ãˆãŸã„
ã“れã¾ã§ã€ãƒ—ãƒã‚°ãƒ©ãƒ を実行ã™ã‚‹ã¨ãã¯ã€ãã®ãƒ—ãƒã‚°ãƒ©ãƒ åをコマンド(命令)ã¨ã—ã¦ä¸Žãˆã¦ã„ã¾ã—ãŸã€‚
ãŸã¨ãˆã°ã€Œyukaã€ã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒ ãªã‚‰ã°ã€ã‚¿ãƒ¼ãƒŸãƒŠãƒ«ç”»é¢ã§æ¬¡ã®ã‚ˆã†ã«ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¦å®Ÿè¡Œã—ã¦ã„ã¾ã—ãŸã€‚
> yuka
ã§ã‚‚ã€ã“ã‚“ãªæ„Ÿã˜ã§å®Ÿè¡Œã§ããŸã‚‰ä¾¿åˆ©ã˜ã‚ƒãªã„ã§ã™ã‹ï¼Ÿ
「16æ©åˆ†ã®åºŠãƒ–ãƒãƒƒã‚¯ã‚’æ•·ããªã•ã„ã€
> yuka 16
ã‚ã‚‹ã„ã¯ã€ã€Œ100æ©åˆ†ã®åºŠãƒ–ãƒãƒƒã‚¯ã‚’æ•·ããªã•ã„ã€
> yuka 100
ã“ã®ã‚ˆã†ã«ã€ã‚³ãƒžãƒ³ãƒ‰å…¥åŠ›æ™‚ã«ãã®æ™‚é™ã‚Šã®ãƒ‘ラメータ(値)を与ãˆã€ãƒ—ãƒã‚°ãƒ©ãƒ 内ã§ãã®ãƒ‘ラメーターを利用ã™ã‚‹ã®ã§ã™ã€‚
ã¡ãªã¿ã«ã€ã“ã®ã€Œã‚³ãƒžãƒ³ãƒ‰å…¥åŠ›æ™‚ã«ãƒ—ãƒã‚°ãƒ©ãƒ ã«æ¸¡ã™ãã®å ´é™ã‚Šã®ãƒ‘ラメータã€ã‚’「コマンドライン引数ã€ã¨ã“ã“ã§ã¯å‘¼ã³ã¾ã™ã€‚
ã¤ã¾ã‚Šã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数を使ã£ãŸãƒ—ãƒã‚°ãƒ©ãƒ ã®æ›¸ãæ–¹ãŒä»Šå›žã®ãƒ†ãƒ¼ãƒžã§ã™ã€‚
コマンドライン引数を使ã£ãŸã‚µãƒ³ãƒ—ルコード
使ã„ã“ãªã—ã«ã¯å°‘ã—ã ã‘コツãŒå¿…è¦ã§ã™ã€‚ ã§ãã‚‹ã ã‘シンプルã«èª¬æ˜Žã™ã‚‹ãŸã‚ã«ã€æ¬¡ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã‚’紹介ã—ã¾ã—ょã†ã€‚
-- hikisuu0 local arg = ... print(arg)
ã“れをç†è§£ã™ã‚‹ã«ã¯ã€å®Ÿéš›ã®æŒ™å‹•を確ã‹ã‚ã‚‹ã®ãŒä¸€ç•ªã€‚「hikisuu0ã€ã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒ åã§ãƒ•ァイルä¿å˜ã—ã¦ã€è‰²ã€…実行ã—ã¦ã¿ã¾ã—ょã†ã€‚
ãŸã¨ãˆã°ã€ã“ã‚“ãªå¼•数を与ãˆã¦æ•°å›žå®Ÿè¡Œã—ã¦ã¿ã¾ã™ã€‚
> hikisuu0 100 100
> hikisuu0 abc abc
> hikisuu0 1 2 3 4 1
> hikisuu0 a b c d a
> hikisuu0  
以上ã‹ã‚‰ã‚ã‹ã‚‹ã“ã¨ã¯ã€ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ä¸ŽãˆãŸã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®ã†ã¡ä¸€ç•ªç›®ã®ã‚‚ã®ã ã‘ã‚’ç”»é¢ã«è¡¨ç¤ºã™ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚ãŸã ã—引数を何も与ãˆãªã„ã¨ä½•も表示ã—ã¾ã›ã‚“。
サンプルコードã®è©³ç´°è§£èª¬
上記ã®ã‚µãƒ³ãƒ—ルコードをãã®ã¾ã¾ã‚³ãƒ”ペã™ã‚Œã°ãã®ã¾ã¾ã‚ãªãŸã®ãƒ—ãƒã‚°ãƒ©ãƒ ã«ä½¿ãˆã‚‹ã‚ã‘ãªã®ã§ã™ãŒã€ã€Œãªã‚“ã§ï¼Ÿã©ã†ã„ã†ç†å±ˆã§ãã†ãªã‚‹ã®ï¼Ÿã€ã¨æ€ã„ã¾ã›ã‚“ã‹ï¼Ÿãã®ç–‘å•ã«æ€ã†æ°—æŒã¡ã¯é‡è¦ã§ã™ã€‚ç§ã¯å°Šé‡ã—ã¾ã™ã€‚(興味ãªã„人ã¯ã“ã®ç« ã‚’èªã¿é£›ã°ã—ã¦ã‚‚OK)
詳細ã«è§£èª¬ã—ã¾ã—ょã†ã€‚
ã¾ãšæ³¨ç›®ã™ã‚‹ã®ã¯1行目ã®local arg = ...
ã§ã™ã€‚
基本的ãªå½¢ãŒã€local 変数å = 値
ã®å½¢ã‚’ã—ã¦ã„ã‚‹ã“ã¨ã‹ã‚‰ã€å¤‰æ•°arg 1ã®å®šç¾©ã‚’ã—ã¦ã„ã‚‹ã¨æŽ¨æ¸¬ã§ãã‚‹ã¯ãšã§ã™ã€‚ã§ã¯...
ã¨ã¯ä½•ã§ã—ょã†ã‹ã€‚
Lua言語ã§ã¯...
ã¨ã„ã†ãƒ”リオド3ã¤ã®è¡¨è¨˜ã‚’「å¯å¤‰é•·å¼•æ•°å¼ã€ã¨å‘¼ã³ã¾ã™ã€‚ãã®è©³ã—ã„説明ã¯ã“ã“ã§ã¯çœç•¥ã—ã¾ã™ãŒã€ã“ã®3ã¤ã®ç‚¹ã ã‘ã§ã‚³ãƒžãƒ³ãƒ‰å…¥åŠ›æ™‚ã«å¾Œã‚ã«ç¶šã‘ã¦å…¥åŠ›ã—ãŸãƒ‘ラメータ(コマンドライン引数)ãŒåˆ©ç”¨ã§ãã‚‹ã‚ã‘ã§ã™ã。
ãªãŠã€...
ã¨ã„ã†è¡¨è¨˜ã«ã‚ˆã£ã¦ã€å…¥åŠ›ã—ãŸã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®å…¨éƒ¨ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚ãŸã¨ãˆã°4ã¤å…¥åŠ›ã—ãŸã‚‰4ã¤ã¨ã‚‚ã§ã™ã€‚
ã—ã‹ã—ã€local arg = ...
ã¨ã„ã†è¡¨è¨˜ã§ã¯ã€å…¥åŠ›ã—ãŸã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®ã†ã¡å…ˆé ã®1個ã—ã‹åˆ©ç”¨ã§ãã¾ã›ã‚“。今回ã¯ãれã§å•題ãªã„ã®ã§ã™ãŒã€ã‚‚ã—ã‚らã‹ã˜ã‚4ã¤ã®å¼•数を入力ã™ã‚‹ã“ã¨ãŒã‚ã‹ã£ã¦ã„ã¦ã€ãã®4ã¤å…¨ã¦ã‚’拾ã£ã¦ä½¿ã„ãŸã„ã®ãªã‚‰ã°ã€æ¬¡ã®ã‚ˆã†ãªè¡¨è¨˜ãŒå¿…è¦ã§ã™ã€‚
local arg1, arg2, arg3, arg4 = ...
ã¤ã¾ã‚Šä»£å…¥ç”¨ã®å¤‰æ•°ã‚’ã‚らã‹ã˜ã‚4ã¤ç”¨æ„ã—ã¦ãŠãã‚ã‘ã§ã™ã。ã¡ãªã¿ã«ã“ã†ã„ã†ã‚ˆã†ãªè¤‡æ•°ã®å¤‰æ•°ã¸ã®ä»£å…¥ã‚’一括ã§è¡Œã†è¡¨è¨˜ã®ã“ã¨ã‚’「多é‡ä»£å…¥ã€2ã¨å‘¼ã³ã¾ã™ã€‚
ã¨ã¯ã„ãˆå…ˆã»ã©ã‚‚言ã„ã¾ã—ãŸãŒã€ä»Šå›žã¯å¤šé‡ä»£å…¥ã¯ä½¿ã„ã¾ã›ã‚“。ã ã£ã¦ä»Šå›žã¯ã€å¼•æ•°ã¯å…ˆé ã®ä¸€ã¤ã ã‘ã§ã‚ˆã„ã®ã§ã™ã‹ã‚‰ã€‚
床ブãƒãƒƒã‚¯è¨ç½®ãƒ—ãƒã‚°ãƒ©ãƒ ã«ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数を利用
ã•ã¦ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数を使ã£ã¦ã€å‰å›žã®ãƒ—ãƒã‚°ãƒ©ãƒ 「yuka2ã€ã‚’次ã®ã‚ˆã†ã«æ”¹é€ ã—ã¾ã—ãŸã€‚
変更点ã‚ã‹ã‚Šã¾ã™ï¼Ÿ
---------------------------------- -- yuka3: 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã™ã‚‹ï¼ˆ1往復) ---------------------------------- ------- Config ------- local hosuu = ... ------- Main ------- -- 地é¢ã«ç½®ã„ãŸã‚¿ãƒ¼ãƒˆãƒ«ã§ã¯åºŠã«ãƒ–ãƒãƒƒã‚¯ç½®ã‘ãªã„ã®ã§ã€æµ®ã‹ã›ã‚‹ turtle.up() -- 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰æŒ‡å®šã—ãŸæ©æ•°ã ã‘å‰ã«é€²ã‚€ for i=1,hosuu do turtle.placeDown() turtle.forward() end -- å³ã®åˆ—ã«ç§»å‹• turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã®ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã«ç§»å‹•。ã“ã¡ã‚‰å´ã‚’å‘ã„ã¦ã„る。 turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã«åºŠãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰æˆ»ã£ã¦ãã‚‹ for i=1,hosuu do turtle.placeDown() turtle.forward() end
実ã¯ã€‚å‰å›žã®ã€Œyuka2ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã«æ¯”ã¹ã‚‹ã¨ä¸€ç®‡æ‰€ã—ã‹å¤‰ã‚ã£ã¦ãªã„ã‚“ã§ã™ã€‚
- 「yuka2ã€ã®6行目:
local hosuu = 6
- 「yuka3ã€ã®6行目:
local hosuu = ...
ã“れã ã‘ï¼
プãƒã‚°ãƒ©ãƒ 実行
次ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¦æŒ™å‹•を確èªã—ã¾ã—ょã†ã€‚
> yuka3 6
> yuka3 16

ãŠã‚りã«
ã“れã§ã‚¿ãƒ¼ãƒˆãƒ«ã«ã€æŸ”軟ã«åºŠè²¼ã‚Šã‚’ã—ã¦ã‚‚らãˆã¾ã™ãï¼ã€€ãƒ¬ãƒƒãƒ„床貼りï¼ï¼ˆãƒã‚¶ãƒ¼ã¨ã‹ã§ï¼‰
次回ã¯ã€ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®å•題点ã«ã¤ã„ã¦è§¦ã‚Œã€ãã®æ”¹å–„ã‚’ã—ã¾ã™ã€‚
実際ã«ä½¿ã„ã¯ã˜ã‚ã‚‹ã¨ãã®ã†ã¡æ°—ã¥ãå•題点ãªã®ã§ã™ãŒãƒ»ãƒ»ãƒ»ã€‚ã‚‚ã—ã‚ã‹ã£ãŸã‚‰ã€ã‚³ãƒ¡ãƒ³ãƒˆã«æ›¸ã„ã¦ã¿ã¦ãã ã•ã„ã。
-
変数åargã®ç”±æ¥ã¯ã€è‹±èªžã®argument(引数)ã§ã™ã€‚ã“ã®ã‚ˆã†ãªã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•数を示ã™å¤‰æ•°åã¨ã—ã¦ã‚ˆã使ã‚れるã®ã§è¦šãˆã¦ãŠãã¨è‰²ã€…æ—りã¾ã™ã€‚↩
-
ãŸã¨ãˆã°ã“ã‚“ãªè¡¨è¨˜ã§å¤šé‡ä»£å…¥ãŒã§ãã‚‹ã®ã§ãŸãã•ã‚“ã®å¤‰æ•°ã‚’一括ã§å®šç¾©ã—ãŸã„ã¨ãã¯ä¾¿åˆ©ã§ã™ã€‚
local x, y, z = 1, 2, 3
↩
変数を使ã„ã“ãªã—ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を改善ã—よã†
- ã¯ã˜ã‚ã«
- 床貼りプãƒã‚°ãƒ©ãƒ (1往復)
- ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®å•題点
- 変数ã£ã¦ãªã‚“ã ã£ã‘?
- 変数ã®ä½¿ã„æ–¹
- 変数を使ã£ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を改善ã™ã‚‹
- 次回ã®ãŠè©±
ã¯ã˜ã‚ã«
CCプãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®ç’°å¢ƒã®è¨å®šã®è©±ã§è¨˜äº‹ã‚’書ãå§‹ã‚ãŸã‚‰ãã¡ã‚‰ã¸ã®è„±ç·šãŒé•·ããªã£ã¦ã—ã¾ã„ã¾ã—ãŸã€‚
今回ã‹ã‚‰ã€æœ¬æ ¼çš„ã«CCプãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã‚„ã£ã¦ã„ãã¾ã™ã€‚
ã¾ãšã¯åºŠã«ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’å†æŽ²ã—ã¾ã—ょã†ã€‚
床貼りプãƒã‚°ãƒ©ãƒ (1往復)
---------------------------------- -- yuka1: 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã™ã‚‹ï¼ˆ1往復) ---------------------------------- -- 地é¢ã«ç½®ã„ãŸã‚¿ãƒ¼ãƒˆãƒ«ã§ã¯åºŠã«ãƒ–ãƒãƒƒã‚¯ç½®ã‘ãªã„ã®ã§ã€æµ®ã‹ã›ã‚‹ turtle.up() -- 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰6æ©åˆ†å‰ã«é€²ã‚€ for i=1,6 do turtle.placeDown() turtle.forward() end -- å³ã®åˆ—ã«ç§»å‹• turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã®ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã«ç§»å‹•。ã“ã¡ã‚‰å´ã‚’å‘ã„ã¦ã„る。 turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã«åºŠãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰æˆ»ã£ã¦ãã‚‹ for i=1,6 do turtle.placeDown() turtle.forward() end
外部エディタ(VSCode)使ã†ã¨ã“ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ï¼ˆã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ç•¥ï¼‰ãŒè‰²åˆ†ã‘ã•れã¦è¦‹ã‚„ã™ã„ã§ã™ã‚ˆã。 ãªãŠã€ã›ã£ã‹ããªã®ã§1行目〜3行目ã®ã‚ˆã†ã«ã€ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®åå‰ã¨ãã®èª¬æ˜Žã«ã¤ã„ã¦ã‚‚書ã„ã¦ã¿ã¾ã—ãŸã€‚ 「yuka1ã€ã ã‘ã§ã¯ä½•ã‚’ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ãªã®ã‹ã‚ã‹ã‚‰ãªããªã‚Šã¾ã™ã‹ã‚‰ã“ã®ã‚ˆã†ãªã‚³ãƒ¡ãƒ³ãƒˆã¯é‡è¦ã§ã™ã€‚
上記ã®ã‚³ãƒ¼ãƒ‰ã‚’エディタå´ã«ã‚³ãƒ”ー&ペーストもã§ãã‚‹ã®ã§ã€æ›¸ãã®ã‚‚楽ã«ãªã‚Šã¾ã™ã€‚ ã§ã‚‚ã§ãれã°ã€ä¸Šè¨˜ã‚³ãƒ¼ãƒ‰ã‚’見ãªãŒã‚‰ã§ã‹ã¾ã‚ãªã„ã®ã§ã€ã‚¿ãƒ¼ãƒˆãƒ«ã®è¡Œå‹•ã‚’é ã®ä¸ã§ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã—ãªãŒã‚‰è‡ªåˆ†ã§ã‚³ãƒ¼ãƒ‰ã‚’書ã„ã¦ã¿ã¦ãã ã•ã„ã。1
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®å•題点
ã•ã¦ã€ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ãªã‹ãªã‹ä¾¿åˆ©ãªã®ã§ã™ãŒå•題点もã‚りã¾ã™ã€‚ ãれã¯ã€Œ6æ©åˆ†ã®ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã™ã‚‹ã€ã¨æ±ºã‚打ã¡ã§ã‚³ãƒ¼ãƒ‰ä¸ã«æ›¸ã„ã¦ã„ã‚‹ã“ã¨ã§ã™ã€‚
å ´åˆã«ã‚ˆã£ã¦ã¯ã€ã€Œ10æ©ã«ã—ãŸã„ã€ã€Œ100æ©ãらã„余裕ã€ã€Œ13kmã‚„ã€ãªã©ã¨å¤‰æ›´ã—ãŸã„ã¨ãã‚‚ã‚りã¾ã™ã‚ˆã。 ãã†ã„ã†ã¨ãã¯ã€ãŠã‚‚ã‚€ã‚ã«ã“ã®ã€Œyuka1ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’æ›¸ãæ›ãˆã‚‹æ–¹æ³•ãŒã‚りã¾ã™ã€‚
該当ã™ã‚‹éƒ¨åˆ†ã¯ã€9行目ã¨23行目ã®äºŒç®‡æ‰€ã§ã™ã€‚繰り返ã—foræ–‡ã®ã‚«ã‚¦ãƒ³ã‚¿ã®çµ‚端値ãŒã€Œ6ã€ã«ãªã£ã¦ã„ã‚‹ã®ã§ã“れを好ããªå€¤ã«æ›¸ãæ›ãˆã‚Œã°è‰¯ã„ã‚ã‘ã§ã™ã€‚
ãŸã ã—æ°—ã‚’ã¤ã‘ãªãã¦ã¯ãªã‚‰ãªã„ã®ã¯ã€9行目ã¨23行目ã®ä¸¡æ–¹ã‚’åŒã˜å€¤ã«ã—ãªã„ã¨ã‚¿ãƒ¼ãƒˆãƒ«ãŒãŠã‹ã—ãªæŒ™å‹•ã«ãªã£ã¦ã—ã¾ã†ã“ã¨ã§ã™ã€‚ãŸã¨ãˆã°ã€100æ©å…ˆã«é€²ã‚“ã ã«ã‚‚é–¢ã‚らãšã€6æ©ã—ã‹æˆ»ã£ã¦ã“ãªã„ã®ã§ã¯ãŠã‹ã—ã„ã§ã™ã‚ˆã。
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ を使ã£ã¦ã„ã‚‹ã¨ã€ã€ŒäºŒç®‡æ‰€ã‚‚æ›¸ãæ›ãˆã‚‹ã®é¢å€’。ã—ã‹ã‚‚åŒã˜æ•°å—ã«ã—ãªã„ã¨ã„ã‘ãªã„ã—ï¼ã€ã¨æ€ã†ã‹ã‚‚ã—れã¾ã›ã‚“。
ãã“ã§ã‚³ãƒ¼ãƒ‰ã®æ”¹å–„ã§ã™ã‚ˆï¼
変数ã£ã¦ãªã‚“ã ã£ã‘?
妿 ¡ã®æ•°å¦ã®æ™‚é–“ã§ã¯ã€xã‚„yã®ã‚ˆã†ãªå¤‰æ•°ã‚’ç¿’ã£ãŸã“ã¨ãŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。 様々ãªå€¤ï¼ˆæ•°å€¤ãªã©ï¼‰ã‚’変数ã«ä»£å…¥ã§ããŸã‚Š2ã€ã¾ãŸã‚ã‚‹ã„ã¯ç‰¹å®šã®å€¤ã®ä»£ã‚りã«å¤‰æ•°ã§ç½®ãæ›ãˆã‚‹ã“ã¨ã‚‚ã§ããŸã‚Š3ã¨ã€å¤‰æ•°ã¯æ•°å¦ã®ä¸–界ã§ã¯ã¨ã¦ã‚‚強力ãªé“å…·ã§ã™ã€‚
プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã§ã‚‚変数ã¯åˆ©ç”¨ã§ãã¾ã™ã€‚æ•°å¦ã®æ™‚é–“ã¨ç•°ãªã‚‹ã®ã¯ã€å¤‰æ•°ã«è‡ªåˆ†ã§å¥½ããªåå‰ã‚’ã¤ã‘ã¦ã‚ˆã„ã“ã¨ã§ã™ã€‚4 ã„ãˆã‚€ã—ã‚ã€x・y・zã§ã¯ãªãã€ä»–人ãŒã¿ã¦ã‚ã‹ã‚Šã‚„ã™ã„変数åã‚’ã¤ã‘ã‚‹ã“ã¨ãŒç©æ¥µçš„ã«æŽ¨å¥¨ã•れã¦ã„ã¾ã™ã€‚
変数ã®ä½¿ã„æ–¹
以下ã¯ãƒ—ãƒã‚°ãƒ©ãƒ ä¸ã«å¤‰æ•°ã®ä½¿ã„方を説明ã™ã‚‹ãŸã‚ã®ã‚µãƒ³ãƒ—ルコードã§ã™ã€‚
local x = 3 -- ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°xã®å€¤ã¯3ã¨å®šç¾©ã—ã¾ã™ print(x+5) -- x+5ã®å€¤ã‚’表示ã—ãªã•ã„
1行目ã§ã€€å¤‰æ•°xã®å€¤ã¯3ã§ã‚ã‚‹ã¨ã€Œå®šç¾©ã€ã—ã¦ã„ã¾ã™ã€‚「localã€ã£ã¦ãªãã«ï¼Ÿã¨æ€ã†ã‹ã‚‚ã—れã¾ã›ã‚“ãŒã€ã“れã¯ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ï¼ˆä»Šã®æ®µéšŽã§ã¯ã€ã“ã“ã ã‘ã§ä½¿ã†ã€Œä¸€æ™‚çš„ãªå¤‰æ•°ã€ã¨èª¬æ˜Žã—ã¦ãŠãã¾ã™ã€‚より詳ã—ã知りãŸã„ãªã‚‰ã°ã€ã€Œå¤‰æ•°ã®ã‚¹ã‚³ãƒ¼ãƒ—ã€ã€Œã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°ã€ã‚ãŸã‚Šã®ã‚ーワードã§è‡ªåˆ†ã§èª¿ã¹ã¦ã¿ã¾ã—ょã†ï¼‰ã‚’定義ã™ã‚‹ãŸã‚ã®æ§‹æ–‡ã§ã€ï¼ˆãƒãƒ¼ã‚«ãƒ«ï¼‰å¤‰æ•°ã‚’使ã„ãŸã„ã¨ãã«ã¯ã€æœ€åˆã«å¿…ãšã“ã†æ›¸ã„ã¦å®šç¾©ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。
ã“ã“ã§æ³¨æ„ã—ã¦æ¬²ã—ã„ã®ãŒã€local x = 3
ã®ã€Œï¼ã€ã¯ã€æ•°å¦ã®æ™‚é–“ã®ã€Œç‰å·ï¼ã€ã®æ„味ã§ä½¿ã£ã¦ã„ãªã„ã“ã¨ã§ã™ã€‚ã“れã€ä¸–ç•Œã§æœ€åˆã«ãƒ—ãƒã‚°ãƒ©ãƒ 言語を発明ã—ãŸäººã®æœ€å¤§ã®ãƒŸã‚¹ã ã¨å€‹äººçš„ã«æ€ã£ã¦ã„ã¾ã™5。
ã“ã“ã§ã®ã€Œï¼ã€ã¯ã€Œisã€ãらã„ã®æ„味ã ã¨æ€ã£ã¦ãã ã•ã„。
ã¤ã¾ã‚Šã€ã€Œx = 3ã€ã¯ã€Œx is 3(xã¯3ã¨ã—ã¾ã™ï¼‰ã€ãらã„ã®æ„味。ãªãœã“ã®ã‚ˆã†ãªç´°ã‹ã„ã“ã¨ã‚’説明ã™ã‚‹ã‹ã¨è¨€ã†ã¨ã€æ¬¡ã®ã‚ˆã†ãªã‚µãƒ³ãƒ—ルコードを見ã›ã‚‹ã¨ã€æ•°å¦ãŒå¾—æ„ãªäººã»ã©æ··ä¹±ã—ã¦ã—ã¾ã†ã®ã§ã™ã‚ˆã€‚
local x = 3 -- 変数xã®å€¤ã¯3ã¨å®šç¾©ã—ã¾ã™ print(x+5) -- x+5ã®å€¤ã‚’表示ã—ãªã•ã„ x=1 -- 変数xã®å€¤ã‚’1ã«ã—ã¾ã™ï¼ˆå¤‰æ›´ã—ã¾ã™ï¼‰ print(x+5) -- x+5ã®å€¤ã‚’表示ã—ãªã•ã„
æ•°å¦å¾—æ„マン「x=3ãªã‚“ã§ã—ょ? ãªã‚“ã§x=1ã¨ã‹è¨€ã„å§‹ã‚ã‚‹ã®ã•。ãŠã‹ã—ã„ã§ã—ょï¼ã€
ã‚ã‹ã‚Šã¾ã™ã€‚妿 ¡ã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°æ•™è‚²ã‚„ã£ã¦ã„ã‚‹ãã†ã ã‘ã©ã€ç®—数・数å¦ã®æŽˆæ¥ã¨ã®æ•´åˆæ€§ï¼ˆï¼ã¯ç‰å·ã§ã—ょ?)ã¯ã©ã†ã‚„ã£ã¦ã„ã‚‹ã®ã‹ãƒ»ãƒ»ãƒ»ã€‚ç¾å ´ã®è‹¦åŠ´ãŒå²ã°ã‚Œã¾ã™ã€‚
算数・数å¦ã®æ™‚é–“ã§ã¯ã€ã€Œ=ã€ã¯ç‰å·ã§ã‚り「x=3ã€ã¯ã€Œxã¯3ã¨ç‰ã—ã„ã€ã¨ã„ã†æ„味ã ã‘ã©ã€ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®ä¸–界ã§ã¯ã€Œ=ã€ã¯ã€Œisã€ãらã„ã®æ„味ã§ã‚り「x=3ã€ã¯ã€Œï¼ˆã“ã“ã§ã¯ï¼‰xã¯3ã¨ã—ã¾ã™ã€ãらã„ã®æ„味ã§ã™ã€‚世界ãŒå¤‰ã‚ã‚‹ã¨è¨˜å·ã®æ„味も変ã‚ã‚‹ã®ã§ã™ã€‚
ã“ã®ã‚µãƒ³ãƒ—ルコードã¯ã€1行目ã‹ã‚‰é †ã«ç´ ç›´ã«è§£é‡ˆã—ã¦ã„ãã¾ã—ょã†ã€‚
- 1行目ã¯ã€
local
ã¨ã¤ã„ã¦ã„ã‚‹ã®ã§ï¼ˆãƒãƒ¼ã‚«ãƒ«ï¼‰å¤‰æ•°xを定義ã—ã¦ã„ã¾ã™ã。 - 2行目ã§ãã®ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°xを使ã£ãŸè¨ˆç®—çµæžœã‚’ç”»é¢ã«è¡¨ç¤ºã—ã¾ã™ã€‚
- 4行目ã§å¤‰æ•°xã®å€¤ã‚’1ã«å¤‰ãˆã¾ã™
- 5行目ã§ãã®ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°xを使ã£ãŸè¨ˆç®—çµæžœã‚’ç”»é¢ã«è¡¨ç¤ºã—ã¾ã™ã€‚
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã®å®Ÿè¡Œçµæžœã¯æ¬¡ã®ã‚ˆã†ã«ç”»é¢ã«è¡¨ç¤ºã•れã¾ã™ã€‚
8 6
変数を使ã£ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を改善ã™ã‚‹
ã¯ã„ã€é•·ã€…ã¨ãŠè©±ã—ã¾ã—ãŸã€‚
当åˆã®ç›®çš„ã¯ã€æ©æ•°ã®å€¤ã‚’äºŒç®‡æ‰€ã‚‚æ›¸ãæ›ãˆã‚‹ã®ãŒã‚ã‚“ã©ã†ãªã®ã§ã€å¤‰æ•°ã‚’使ã†ã“ã¨ã§å°‘ã—æ¥½ãŒã§ãるよã†ã«ã—よã†ã¨ã„ã†ãŠè©±ã§ã—ãŸã€‚
以下ã«çµè«–ã¨ãªã‚‹ã‚³ãƒ¼ãƒ‰ã‚’紹介ã—ã¾ã™ã€‚
---------------------------------- -- yuka2: 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã™ã‚‹ï¼ˆ1往復) ---------------------------------- local hosuu = 6 -- 地é¢ã«ç½®ã„ãŸã‚¿ãƒ¼ãƒˆãƒ«ã§ã¯åºŠã«ãƒ–ãƒãƒƒã‚¯ç½®ã‘ãªã„ã®ã§ã€æµ®ã‹ã›ã‚‹ turtle.up() -- 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰6æ©åˆ†å‰ã«é€²ã‚€ for i=1,hosuu do turtle.placeDown() turtle.forward() end -- å³ã®åˆ—ã«ç§»å‹• turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã®ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã«ç§»å‹•。ã“ã¡ã‚‰å´ã‚’å‘ã„ã¦ã„る。 turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã«åºŠãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰æˆ»ã£ã¦ãã‚‹ for i=1,hosuu do turtle.placeDown() turtle.forward() end
注目ã—ã¦æ¬²ã—ã„ã®ã¯ã€4行目ã®local hosuu = 6
ã§ã™ã。変数hosuuをコードã®å…ˆé ã§å®šç¾©ã—ã¦ãŠãã€ãã®å¤‰æ•°hosuuを以é™ã®ç¹°ã‚Šè¿”ã—foræ–‡ã®çµ‚端値ã¨ã—ã¦ä½¿ã£ã¦ã„ã¾ã™ã€‚
ãã®ãŸã‚ã€6æ©ã‹ã‚‰10æ©ã«å¤‰ãˆãŸã„ã®ãªã‚‰ã€local hosuu = 6
ã‚’local hosuu = 10
ã®ã‚ˆã†ã«æ›¸ãæ›ãˆã‚‹ã ã‘ã§å®Œäº†ã¨ãªã‚Šã¾ã™ã€‚
コードã®å…ˆé ã®æ•°å—を変ãˆã‚‹ã ã‘OKãªã®ã§ã€ã¡ã‚‡ã£ã¨æ¥½ã«ãªã‚Šã¾ã—ãŸã。
ã“ã®ã‚ˆã†ã«ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®æŒ™å‹•を変ãˆã‚‹å€¤ï¼ˆãŸã¨ãˆã°ä»Šå›žã®ã€ç§»å‹•ã™ã‚‹æ©æ•°ãªã©ï¼‰ã®ã“ã¨ã‚’パラメーターã¨å‘¼ã¶å ´åˆãŒã‚りã¾ã™ã€‚ã“ã®ã‚ˆã†ãªãƒ‘ラメーターã¯ã€ä½¿ç”¨ã™ã‚‹éš›ã«æ›¸ãæ›ãˆã‚‹ã“ã¨ãŒå¤šã„ã®ã§ã€ãŸã„ã¦ã„ã¯ã‚³ãƒ¼ãƒ‰ã®å…ˆé ã«æ›¸ã„ã¦ãŠãã“ã¨ãŒå¤šã„ã§ã™ã€‚
ãれを明示的ã«ã™ã‚‹ãŸã‚ã€ç§ã¯æ¬¡ã®ã‚ˆã†ãªæ›¸ã方をã—ã¾ã™ã€‚ã©ã†ã§ã™ã‹ï¼Ÿã‚³ãƒ¼ãƒ‰è‡ªä½“ã¯é•·ããªã£ãŸã‘ã©ã€ã¿ã‚„ã™ããªã£ã¦ã„ã¾ã›ã‚“?
---------------------------------- -- yuka2: 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’è¨ç½®ã™ã‚‹ï¼ˆ1往復) ---------------------------------- ------- Config ------- local hosuu = 6 ------- Main ------- -- 地é¢ã«ç½®ã„ãŸã‚¿ãƒ¼ãƒˆãƒ«ã§ã¯åºŠã«ãƒ–ãƒãƒƒã‚¯ç½®ã‘ãªã„ã®ã§ã€æµ®ã‹ã›ã‚‹ turtle.up() -- 床ã«ãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰6æ©åˆ†å‰ã«é€²ã‚€ for i=1,hosuu do turtle.placeDown() turtle.forward() end -- å³ã®åˆ—ã«ç§»å‹• turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã®ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ã«ç§»å‹•。ã“ã¡ã‚‰å´ã‚’å‘ã„ã¦ã„る。 turtle.turnRight() turtle.forward() -- å³ã®åˆ—ã«åºŠãƒ–ãƒãƒƒã‚¯ã‚’æ•·ãè©°ã‚ãªãŒã‚‰æˆ»ã£ã¦ãã‚‹ for i=1,hosuu do turtle.placeDown() turtle.forward() end
ã¤ã¾ã‚Šã€------- Config -------
以é™ã¯ãƒ‘ラメータをè¨å®šã™ã‚‹éƒ¨åˆ†ã§ã™ã€‚挙動を変ãˆã‚‹ã¨ãã¯æ›¸ãæ›ãˆã¦ãã ã•ã„ã。
------- Main -------
以é™ã¯ãƒ—ãƒã‚°ãƒ©ãƒ ã®ãƒ¡ã‚¤ãƒ³éƒ¨åˆ†ã。ã“れ以é™ã‚’æ›¸ãæ›ãˆã‚‹ã¨ãã¯æ°—ã‚’ã¤ã‘ã¦ã€‚
今後もã“ã®æ–¹é‡ã§ã‚µãƒ³ãƒ—ルコードを紹介ã—ã¦ã„ãã¾ã™ã®ã§ã”承知ãã ã•ã„。

次回ã®ãŠè©±
使ã†ãŸã³ã«ã‚³ãƒ¼ãƒ‰ã‚’äºŒç®‡æ‰€ã‚‚æ›¸ãæ›ãˆã‚‹ã“ã¨ã«è¾Ÿæ˜“ã¨ã—ã¦ã„ãŸhevohevoã¯ã€å¤‰æ•°ã‚’ä½¿ã†æ–¹å¼ã«æ›¸ãæ›ãˆã‚‹ã“ã¨ã§å°‘ã—æ¥½ã«ãªã‚‹ã®ã ã£ãŸã€‚ã ãŒäººé–“ã®æ¬²æœ›ã¨ã¯å°½ããªã„ã‚‚ã®ã€‚
ã€Œæ¯Žå›žæ›¸ãæ›ãˆã‚‹ã®é¢å€’ã«ãªã‚Šã¾ã™ãŸ(^p^)ã€
ã“ã®ã‚ˆã†ãªã‚ã‚“ã©ãã•ãŒã‚Šã‚„ãŒãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’完çµã§ãã‚‹ã®ã‹ã€‚æ¬¡ã®æ›´æ–°æ—¥ã¯ã„ã¤ã«ã—よã†ã€‚ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ãªã®ã«æ–‡ç« 多ã™ãŽã‹ã‚‚。
次回「コマンドライン引数ã®ä½¿ã„æ–¹ã€ã€€ä¹žã†ã”期待。
-
ã™ã§ã«ãŠæ°—ã¥ãã‹ã‚‚ã—れã¾ã›ã‚“ãŒã€ComputerCraft内ã®
edit
コマンド(CC内エディタ)ã§ã¯ã‚³ãƒ”ãƒ¼ï¼†ãƒšãƒ¼ã‚¹ãƒˆã®æ©Ÿèƒ½ãŒåˆ¶é™ã•れã¦ã„ã¾ã™ã€‚ã“れã¯CCã®ä½œè€…ã§ã‚ã‚‹Dan200æ°ã«ã‚ˆã‚‹æ„図的ãªã‚‚ã®ã§ã™ã€‚ãŠãらãã€æ—¢å˜ã®ã‚³ãƒ¼ãƒ‰ã‚’æ€è€ƒåœæ¢çŠ¶æ…‹ã§ã‚³ãƒ”ー&ペーストã™ã‚‹ã®ã§ãªãã§ãã‚‹ã ã‘考ãˆãªãŒã‚‰è‡ªåˆ†ã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã—ã¦æ¬²ã—ã„ã¨ã„ã†Dan200æ°ã®æ€æƒ³ï¼ˆé¡˜ã„)ã§ã—ょã†ã€‚ã¾ãç§ãŸã¡ã¯å¤–部エディタを使ã†ã®ã§ã“ã®åˆ¶é™ã¯æ„味ãŒãªã„ã®ã§ã™ã‘ã©ã。ã—ã‹ã—ã€Dan200æ°ã®é¡˜ã„ã§ã‚ã‚ã†ã€Œè€ƒãˆãªãŒã‚‰è‡ªåˆ†ã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã€ã«ã¤ã„ã¦ã¯å®Œå…¨ã«åŒæ„ã—ã¾ã™ã€‚ã“ã®ãƒšãƒ¼ã‚¸ã‚’èªã‚“ã§ã‚‹çš†ã•ã‚“ã‚‚ãŒã‚“ã°ã‚ã†ï¼↩ -
「xã¯3ã§ã™ã€‚x+5ã¯ã„ãã¤ã«ãªã‚‹ã§ã—ょã†ã‹ï¼Ÿã€ãªã©↩
-
「(x+3)2+2(x+3)+1=0ã€€ã®æ–¹ç¨‹å¼ã§(x+3)ã‚’Aã¨ãŠãã¨ã€A2+2A+1=0ã¨ãªã‚Šã¾ã™ã€‚ãã†ã™ã‚‹ã¨ãƒ»ãƒ»ãƒ»ï¼ˆä»¥ä¸‹ç•¥ï¼‰ã€↩
-
æ•°å¦ã®é€”ä¸è¨ˆç®—ã§ã€å¤‰æ•°åã¨ã—ã¦x/y/z/X/Y/Zã ã‘ã§ã¯ç‰©è¶³ã‚Šãªããªã£ã¦ã€â–¡ã‚„â–³ã®ã‚ˆã†ãªè¨˜å·ä½¿ã£ãŸã“ã¨ã‚りã¾ã™ï¼Ÿåƒ•ã¯ã‚りã¾ã™ã€‚出æ¥å¿ƒã§ã€Œ(x+3)を♂ã¨ã™ã‚‹ã€ã¨å°ãƒ†ã‚¹ãƒˆã§ã‚„らã‹ã—ãŸã‘ã©ã—ã£ã‹ã‚Šã¨ãƒžãƒ«ã‚’もらãˆã¾ã—ãŸã€‚ãれをã¿ãŸå‹äººã«ã¯ç¬‘ã‚れãŸã‘ã©ã€‚↩
-
ã¡ãªã¿ã«ã€2ã¤ã®å€¤ãŒç‰ã—ã„ã‹ã©ã†ã‹ã‚’調ã¹ã‚‹ã¨ãã¯ã€Luaã‚’å«ã‚€ãŸã„ã¦ã„ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžã¯
x == 3
ã¨ã„ã†è¡¨è¨˜ã‚’使ã„ã¾ã™ï¼ˆ==
ã‚’ç‰å·æ¼”ç®—åã¨å‘¼ã³ã¾ã™ï¼‰ã€‚ã†ã‚“。å°å¦æ ¡ã§ã“れ教ãˆã‚‹ã¨çµ¶å¯¾æ··ä¹±ã™ã‚‹ã¨æ€ã†ã€‚プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžã«ã‚ˆã£ã¦ã¯ã“ã®ã‚ãŸã‚Šã®å•題点ã«å¯¾å¿œã™ã‚‹ãŸã‚ã‹ã€å¤‰æ•°ã®å®šç¾©ã«local x := 3
ã®ã‚ˆã†ãªè¡¨è¨˜ãŒä½¿ãˆã‚‹å ´åˆã‚‚ã‚りã¾ã™ã€‚↩