Discuss Scratch

KYHID
Scratcher
99 posts

意外と知られていないテクニック集

( v) 番目を [list v] から削除する
(( v) 番目( [list v] ) :: list)
みたいなブロックで、○番目のところに last と入力すると
最後の要素を取り出してくれる。
(打てないときはコピペすればおk)

Last edited by KYHID (Jan. 3, 2020 07:20:53)

inoking
Scratcher
1000+ posts

意外と知られていないテクニック集

wakisaka285 wrote:

そして、「()番目」の()のところにいれて
太字部分
数字しか入力できないので、「ペーストして」ですね。
※ペーストできてしまうのは一種のバグかも

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
abee
Scratcher
1000+ posts

意外と知られていないテクニック集

10coin wrote:

同じようなものがすでにこのトピックにあったら削除します。
重複しているからと言って、特に消す必要はありません。(意図的に行った場合を除く)
wakisaka285
Scratcher
100+ posts

意外と知られていないテクニック集

inoking wrote:

wakisaka285 wrote:

そして、「()番目」の()のところにいれて
太字部分
数字しか入力できないので、「ペーストして」ですね。
※ペーストできてしまうのは一種のバグかも
修正しました

*何のとりえもなく生まれて、平凡な一生を過ごし、そして亡くなる?*そんなのお断りだ。すみません、調子に乗りました。
ソーシャルディスタンスを保とう。これは署名です。
   人
    ↑
  2m ↓ 2m
人←→人←→人
    ↑
  ↓
   人












このリンクを見つけたならフォローしてくれよな。
takkun0530
Scratcher
100+ posts

意外と知られていないテクニック集

定義 a
・・・
a

ずっと
・・・
end
と同じ
Poteto143
Scratcher
1000+ posts

意外と知られていないテクニック集

takkun0530 wrote:

定義 a
・・・
a

ずっと
・・・
end
と同じ
ただ、「画面を再描写せずに実行する」を有効にした定義ブロックで同じことをすると非常に重くなるので注意です・・・

6周年になりました。ありがとうございます
NT_ZZzz
Scratcher
100+ posts

意外と知られていないテクニック集

2.0では末尾再帰はメモリをバカ食いするということがあったそうです
現環境では特に問題は感じていませんが(メモリはバカ食いします)
[ message1 v] を受け取ったとき
・・・
[ message1 v] を送る
などのメッセージによる再帰の方がいいかもしれません

Last edited by NT_ZZzz (Jan. 6, 2020 12:03:15)


競技プログラミングをやろう!処理速度を意識するとちょっと便利なことがあるかも!
ところで貴方が読んでるこの署名なんですけど、まだ進化を残してるらしいです。
とりあえずBBCodeを履修してからですね。進化はまだ遠いっぽいです。
ネコミミアイコンって いいなあ かわいい (心の俳句?)
そうだ、ScratchでScratch作ろう(唐突な大目標の提示はScratch歴5年の特権)(別にそうでもない)
しりとり→リスト リストの話します。 リストは便利だし使いやすい(←同じことじゃない?) 積極的に活用しよう!
リスト→トマト トマトが赤くなると医者が青くなる。医者が青くなったら桶屋が儲かる。桶屋はいつも儲かってる。
トマト→徳政令 徳政令カードが0円で買えるようになったよ!借金があったら近くのカード売り場に行こう!
徳政令→冷蔵庫 冷蔵庫は寒いと思っていませんか?実は排熱で温かいんですね。
冷蔵庫→コイン 硬貨はcoin、では紙幣は? billとかnoteとかpaper money(そのまんま)とか
abee
Scratcher
1000+ posts

意外と知られていないテクニック集

一般に再帰は末尾再帰でなくてもスタックを消費します。
末尾再帰であれば、ループに最適化できますが、Scratchはこれを行っていません。
メッセージの場合、「送って待つ」を使わない限り、呼び出し元に戻ることが無いので、スタックを必要としません。
Scratch 3.0でもタスクマネージャーでメモリーの消費を見ながら実行するとこの様子を観察できます。
captain_lizard
Scratcher
100+ posts

意外と知られていないテクニック集

kakurenbo
Scratcher
500+ posts

意外と知られていないテクニック集

やってみました。

バルーンが表示させてますが、ご了承を。

◎スペック
 〇メモリ GB DDR3
  ・容量:全体 8GB(7.9),使用可能 約5.2GB ・速度:1600MHz (Windowsは表示の半分までしか使えないらしいですが)
 〇CPU Intel® Core™ i5-3340 CPU @ 3.10GHz
  ・基本速度:3.10GHz ・コア数:4 ・論理プロセッサ数:4
My browser / operating system: Windows NT 10.0, Chrome 79.0.3945.88, No Flash version detected


最後にはページが落ちました。

余談ですが、今回の無駄な再帰のは「ジャイアン」みたいだなぁ、と。
メモリの取り合いでどんどん他人のメモリまで「お前のメモリも俺のもの」「常駐アプリアプリのくせに」と消費しいって、最後には母ちゃんというPCに殴られて土俵から落おっこちるみたいな。大根は何に例えるかって?(´・ω・`)知らんね。

Last edited by kakurenbo (Jan. 6, 2020 09:56:55)


そう、私です。
inoking
Scratcher
1000+ posts

意外と知られていないテクニック集

さらに余談ですが
その例えは的を射ていないかなと思います。
再帰の本質は「自分自身に帰ってくること」です。
単に資源を食いまくるのとは違うしそれは他の方法でも出来ます。


これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
kakurenbo
Scratcher
500+ posts

意外と知られていないテクニック集

確かに、再帰は上手く使えばプログラムを解かり易く、簡潔にしてくれると思います。
「終了条件の無い無駄な再帰」に飲み込まれて(?)、再帰にの本質を見失っていたような気がします。
自分で読み返しても「再帰の一番良い例え」っていうのは違う気がします^^;気になるし、修正しとくか

Last edited by kakurenbo (Jan. 6, 2020 09:57:50)


そう、私です。
abee
Scratcher
1000+ posts

意外と知られていないテクニック集

再帰の面白いところは、合わせ鏡のような自己参照による相似性です。
有名なところでは、フィボナッチ数列やフラクタル図形を書いて、ループと比較してみると、その美しさが分かります。
プログラマーを長くやっていると、再帰にはまる時期が来ると思います(Yコンビネーターとか)。
captain_lizard
Scratcher
100+ posts

意外と知られていないテクニック集

KYHID
Scratcher
99 posts

意外と知られていないテクニック集

abee wrote:

プログラマーを長くやっていると、再帰にはまる時期が来ると思います(Yコンビネーターとか)。
今現在進行系でハマっています。なんか大きな問題を細かな問題に分割して解いていくのが綺麗で好きです(唐突)

captain_lizard wrote:

なるほど。わからん
再帰、については知ってますかね?
簡単な例を上げると
定義 繰り返し
(10) 歩動かす
繰り返し :: define
このようなものです。(自分自身を呼び出す)
これは、
ずっと
(10) 歩動かす
end
と同じふるまいをしますが、再帰の方法で書くと、とてもスッキリしたプログラムになるケースがある、ということです。
あってますかね…?
captain_lizard
Scratcher
100+ posts

意外と知られていないテクニック集

まじか( ゚Д゚)頭良すぎて尊敬するわ。
abee
Scratcher
1000+ posts

意外と知られていないテクニック集

この記事とかおすすめです。
説明はRaspberry Piの2.0で行っていますが、3.0でもほぼ同じです。
KYHID
Scratcher
99 posts

意外と知られていないテクニック集

abee wrote:

この記事とかおすすめです。
説明はRaspberry Piの2.0で行っていますが、3.0でもほぼ同じです。
ラズパイ持ってないので手元のUNIX環境で実行してみました。やっぱりスッキリとすると美しい…
再帰処理を知らない頃に変数と繰り返しネストで無理やり組んだ記憶があります。
Kokaとか懐かしいですね
kakurenbo
Scratcher
500+ posts

意外と知られていないテクニック集

最近読んでた、解説書に丁度「絶対に1時期再帰にハマり、何でもかんでも再帰で書きたくなる。しかしやがて再帰に飽きて、場合によって上手く使い分けられる様になってくる。プログラマーなら誰しもが経験する道だ。」みたいなこと書いてましたが、本当なんですね!
僕はプログラミングに出会って4年弱ですが、まだそんな体験は無いですね、、因みに初めて触った言語はArduinoとVBSです。

そう、私です。
iteyashigassan
Scratcher
14 posts

意外と知られていないテクニック集

コメント欄に「

Powered by DjangoBB