Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch以外のプログラミング言語やってる人交流場
- inoking
-
1000+ posts
Scratch以外のプログラミング言語やってる人交流場
#2620:
「_」の接頭辞をつけるようにしています。
なお、名前で区別しなくても 見た目だけで区別ができるように
というのは「異論のない提案」にあります。
私はローカル変数や「画面を再描画せずに実行する」の定義は 適切な投稿場所がわからなかったのでここで質問します。
プログラミング言語には公式に推奨されている命名規則というものが存在することがあります。
例えばPythonにはPEP8という規約が存在し、コメントや関数名などの規則が定められています。
Scratchにそのような制約はもちろんありませんが、なるべくなら多くの人から読みやすいコードを心がけたいです。変数名はこうしている、のようなものが有れば教えて下さい。
「_」の接頭辞をつけるようにしています。
なお、名前で区別しなくても 見た目だけで区別ができるように
というのは「異論のない提案」にあります。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- Atridott
-
500+ posts
Scratch以外のプログラミング言語やってる人交流場
ローカル変数に _ をつけるのは似たような考えを見ますし、良いと思います。ステージで表示するときのような「スプライト名:変数」になるとわかりやすいかもしれませんが…
Scratchの署名かと思ったら〜、
王道の白菜でした〜。
チクショー!!
ランダム単語ガチャで作ったのでクオリティは知らないです。
.
- akinarin
-
100+ posts
Scratch以外のプログラミング言語やってる人交流場
先日はご迷惑をお掛けして、すみませんでした。
~~~~~~~~~~~~~~~~~~~~~~
代数的エフェクトを
継続モナドをC#で実装することで
C#でも使うことができるのではできないかと思い、やってみました。
クエリ式を使うことによってC#で継続モナドを簡単に書けるようにしています。
以下はMaybeモナドを代数的エフェクトで使ってみたものです。
最新版のC#で動作確認はしています。
(C# 9以降でないと動かないと思います)
(追記2023/1/29: プログラムを改善しました)
~~~~~~~~~~~~~~~~~~~~~~
代数的エフェクトを
継続モナドをC#で実装することで
C#でも使うことができるのではできないかと思い、やってみました。
クエリ式を使うことによってC#で継続モナドを簡単に書けるようにしています。
以下はMaybeモナドを代数的エフェクトで使ってみたものです。
最新版のC#で動作確認はしています。
(C# 9以降でないと動かないと思います)
(追記2023/1/29: プログラムを改善しました)
using System;
{
//maybeエフェクトのハンドラ
Maybe<int, string> maybe = new(){
None = new(resume => "数字に変換できない文字です")
};
Console.WriteLine(ParseAdd("34", "14", maybe).Run(x => x.ToString()));
Console.WriteLine(ParseAdd("34f", "14", maybe).Run(x => x.ToString()));
}
//文字列を数字に変える。
CC<int, T> Parse<T>(string str, Maybe<int, T> maybe) =>
int.TryParse(str, out var num) ? CC.Return<int, T>(num) : maybe.None;
//2つの文字列を数字に変えて足す
CC<int, T> ParseAdd<T>(string left, string right, Maybe<int, T> maybe) =>
from l in Parse<T>(left, maybe)
from r in Parse<T>(right, maybe)
select l + r;
public class Maybe<R, T> {
public required CC<R, T> None{ get; init; }
}
//継続モナドの実装
public record CC<R, T>(Func<Func<R, T>, T> Run) {
public CC<R2, T> Select<R2>(Func<R, R2> func) =>
new(resume => Run(x => resume(func(x))));
public CC<R2, T> SelectMany<R2>(Func<R, CC<R2, T>> func) =>
new(resume => Run(x => func(x).Run(y => resume(y))));
public CC<R3, T> SelectMany<R2, R3>(Func<R, CC<R2, T>> func,
Func<R, R2, R3> func2) =>
new(resume => Run(x => func(x).Run(y => resume(func2(x, y)))));
}
public static class CC{
public static CC<R, T> Return<R, T>(R value) => new(f => f(value));
}
Last edited by akinarin (Jan. 29, 2023 03:38:03)
最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
- kyokyoro
-
100+ posts
Scratch以外のプログラミング言語やってる人交流場
#2621
そのままページを取得してDOMからjsonを作成するしかないでしょう。
DOM解析はjsのほうがし易いので サーバーで取得→jsに渡すがベストかと。
そのままページを取得してDOMからjsonを作成するしかないでしょう。
DOM解析はjsのほうがし易いので サーバーで取得→jsに渡すがベストかと。
- kst_dx
-
8 posts
Scratch以外のプログラミング言語やってる人交流場
#2621:
PHPだとComposerとかのライブラリが必要になったり、環境に依存したりするので、JavaScriptのコードをおいておきます。
こんな感じです。ちなみにTop-Level awaitを使ってるのでスクリプトタイプはmoduleにしています。
また、調べた感じだとfetchだと日本語、直リクエストだと英語で表示されていたりしたので挙動が不安定になる可能性が高いです。
お役に立てていたら幸いです。
PHPだとComposerとかのライブラリが必要になったり、環境に依存したりするので、JavaScriptのコードをおいておきます。
<script type="module"> // 第一引数にユーザ名、第二引数に最大取得数 const getUserActivity = async (user = 'griffpatch', max = 10000) => { const raw = await ( await fetch( `https://scratch.mit.edu/messages/ajax/user-activity/?user=${user}&max=${max}` ) ).text() // テキストデータとしてFetchで取得 const html = new DOMParser().parseFromString(raw, 'text/html') // テキストをDOMに変換 // li要素の中身を抽出して配列に戻す let result = [] for (let item of html.querySelectorAll('li')) { item = item.querySelector('div') result.push({ actor: item.querySelector('span.actor').textContent, // アクティビティをやった人みたいな感じでしょうか body: item.childNodes[2].data.trim(), // リミックスなどのアクティビティ内容 href: item.querySelector('a').getAttribute('href'), // プロジェクトやスタジオのURL title: item.querySelector('a').textContent, // プロジェクトやスタジオのタイトル time: item.querySelector('span.time').textContent.trim() // タイムスタンプ }) } return result // 結果を戻す } // この場合はmagicAhoさんのアクティビティを最大10000個取得するコードになります console.log(await getUserActivity('magicAho')) </script> <!-- (赤丸で囲まれているところがありますが、ScratchのフォーラムがJavaScriptのテンプレートリテラルに対応していないだけだと思うので安心して使って下さい) -->
こんな感じです。ちなみにTop-Level awaitを使ってるのでスクリプトタイプはmoduleにしています。
また、調べた感じだとfetchだと日本語、直リクエストだと英語で表示されていたりしたので挙動が不安定になる可能性が高いです。
お役に立てていたら幸いです。
Long-time Deno(JS) lover. / Golang user
- suzumiyaharuhi99
-
5 posts
Scratch以外のプログラミング言語やってる人交流場
昔は垢無しでscratchしてたけどとあるscratchの本でHSPが紹介されてて面白そうだからって始めたらscratchに移植するほどハマった
- akinarin
-
100+ posts
Scratch以外のプログラミング言語やってる人交流場
#2624のF#版をやってみました。
F#はコンピュテーション式があり、型推論が強くて快適ですね。
WriterモナドもどきとMaybeモナドを、代数的エフェクトもどきで使ってみました。
F#はコンピュテーション式があり、型推論が強くて快適ですね。
WriterモナドもどきとMaybeモナドを、代数的エフェクトもどきで使ってみました。
type Cont<'r, 't>(run: ('r -> 't) -> 't) =
member this.run = run
type ContBuilder() =
member __.Return(x) = Cont(fun resume -> resume(x))
member __.Bind<'a, 'b, 't>(m : Cont<'a, 't>, f: 'a -> Cont<'b, 't>) =
Cont(fun resume -> m.run(fun x -> f(x).run(resume)))
member __.ReturnFrom(x) = x
let cont = ContBuilder()
type Maybe<'a, 't> = {
none: Cont<'a, 't>
}
let maybeLift<'a, 't>(maybe: Maybe<'a, 't>)(op: Option<'a>) =
match op with
| Some x -> cont{ return x }
| None -> maybe.none
let safeDiv<'t> x y (maybe: Maybe<int, 't>) = cont{
if y = 0 then
return! maybe.none
else
return x / y
}
let runCont<'a> (cont: Cont<'a, 'a>) = cont.run(fun x -> x)
let rec each<'a, 't>(lst: List<'a>)(f: 'a -> Cont<unit, 'b>) =
match lst with
| x :: rem ->
cont {
do! f x
do! each rem f
}
| [] -> cont { return () }
type Writer<'t> = {
write: string -> Cont<unit, 't>
}
let earlyReturn<'a, 'b, 't>(body: ('a -> Cont<'b, 't>) -> Cont<'a, 't>) = Cont(fun resume -> body(fun x -> Cont(fun _ -> resume(x))).run(resume))
let runWriter<'a, 't>(f: Writer<'t> -> Cont<'a, 't>) =
let mutable output = ""
let writer = {write = fun x -> Cont(fun resume -> resume(output <- output + x)) }
cont{
let! v = f(writer)
return (v, output)
}
runWriter(fun writer -> earlyReturn <| fun ret -> cont{
let maybe = {
none = cont {
do! writer.write("0で除算しました");
return! ret ();
}
}
do! each([3; 2; 0; 5])(fun x -> cont{
let! a = safeDiv 10 x maybe
do! writer.write <| $"10 / {x} = {a}\n"
})
do! writer.write "success"
return ()
}).run(fun (_, s) -> printf "%s" s)
最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
- mitaku115
-
500+ posts
Scratch以外のプログラミング言語やってる人交流場
PythonをchatGPTに書かせてみたら、わかりやすいものを書いてくれた。
画像貼るのめんどいんでリンクで リンクはやらかしたので消去(すいませんでした)
参考にしたいと思ったんですが、
こういうのを間に受けるのはよくないんですかね?間違っているとかの観点で
画像貼るのめんどいんでリンクで リンクはやらかしたので消去(すいませんでした)
参考にしたいと思ったんですが、
こういうのを間に受けるのはよくないんですかね?間違っているとかの観点で
Last edited by mitaku115 (Feb. 5, 2023 02:17:17)

HIKAKINTV everyday
- inoking
-
1000+ posts
Scratch以外のプログラミング言語やってる人交流場
間違っているとかの観点でこういうニュースもありますので こういうのを間に受けるのはよくないんですかね?
「ChatGPTによる回答をStack Overflowが一時的に禁止 大量のもっともらしいが不正確な回答に対処しきれず」
真に受けるのはよくないでしょう。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- newmomizi_txt
-
1000+ posts
Scratch以外のプログラミング言語やってる人交流場
ChatGPTといえば、最近私はそれに競技プログラミングの問題を解かせる試みをしています。
試しにAtCoder Beginners ContestのB問題を適当に選んで解かせてみました。
ひっかけ問題には普通にひっかかりましたが、解くためのヒントさえ与えてあげれば正解までたどり着くことが出来ました。
機械翻訳についても同じことを誰かが言っていた気がしますが、
「AIにプログラミングを任せたとしても、それを正しいかどうか判断するためには人間のプログラミング能力が必要」
という結果になると思います。
試しにAtCoder Beginners ContestのB問題を適当に選んで解かせてみました。
1回目: int型の変数で計算させようとする(オーバーフローするため間違い)
2回目: int64_t型の変数で計算させようとする(やはりオーバーフローする)
3回目: GMPライブラリを使用し、巨大な数の計算を可能にすることで無理やり解く
ここで、「a ≡ p(mod n)かつb ≡ q(mod n)なら、ab ≡ pq(mod n)」ということを教える
4回目: これを使用し、模範解答に非常に近いプログラムを生成する。
機械翻訳についても同じことを誰かが言っていた気がしますが、
「AIにプログラミングを任せたとしても、それを正しいかどうか判断するためには人間のプログラミング能力が必要」
という結果になると思います。
ここから下は署名(しょめい)と言います。最終更新 2023/11/19(JST)
突然ですが問題です。
4枚のカードがあります。カードの片面には数字が、もう片方の面にはアルファベットが書かれています。
「C」「U」「7」「8」
では、「母音の裏には偶数が書かれている」ということを証明するためには、どのカードを確かめればよいでしょうか。
もう一つ問題です。
A~Dさんの4人がある飲み物を飲んでいます。分かっている情報は以下の通りです。
・Aさんはビールを飲んでいる。
・Bさんは麦茶を飲んでいる。
・Cさんは16歳である。
・Dさんは28歳である。
では、「お酒を飲んでいる人は20歳以上である」ということを証明するためには、誰について調べればよいでしょうか。
分かった方は私のプロフィールのコメント欄までお越しください。
;
安全か分からないなら今すぐ使用をやめたほうがいいよ。それでパスワードを盗み取られたりしても自己責任だから
- akinarin
-
100+ posts
Scratch以外のプログラミング言語やってる人交流場
chatGPTのようなAIが発展していくことで、
将来的にプログラマという仕事やその一部がAIに置き換えられていくのではないかと思ったのですが、
どうだと思いますか?
複雑な論理を伴うプログラムだと、AIに書かせることは難しいかも知れませんが、
簡単なプログラムなら「AIに書かせて、それを人間が修正する」といった作業で出来てしまうような気がします。
僕は、プログラマは、殆ど自分の力でプログラムを書く必要が無くなり
少ない人員で、今よりも遥かに効率的にプログラミングが行われる世の中になると思います。
将来的にプログラマという仕事やその一部がAIに置き換えられていくのではないかと思ったのですが、
どうだと思いますか?
複雑な論理を伴うプログラムだと、AIに書かせることは難しいかも知れませんが、
簡単なプログラムなら「AIに書かせて、それを人間が修正する」といった作業で出来てしまうような気がします。
僕は、プログラマは、殆ど自分の力でプログラムを書く必要が無くなり
少ない人員で、今よりも遥かに効率的にプログラミングが行われる世の中になると思います。
最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
- magicAho
-
1000+ posts
Scratch以外のプログラミング言語やってる人交流場
PHPもできるようになったーーーー 僕は
・HTML
・JavaScript(少し)
しかできないです。
ああ、悲しいことに、私の署名は怒ったバケツに食べられました。この署名の発案者です。
Oh, sadly, my signature was eaten by an angry bucket. この署名を広めよう!!
- inoking
-
1000+ posts
Scratch以外のプログラミング言語やってる人交流場
ChatGPT に限らず、ロボットが人間の仕事を奪うといったことを多くの人が危惧している訳ですが chatGPTのようなAIが発展していくことで、
将来的にプログラマという仕事やその一部がAIに置き換えられていくのではないかと思ったのですが、
どうだと思いますか?
複雑な論理を伴うプログラムだと、AIに書かせることは難しいかも知れませんが、
簡単なプログラムなら「AIに書かせて、それを人間が修正する」といった作業で出来てしまうような気がします。
僕は、プログラマは、殆ど自分の力でプログラムを書く必要が無くなり
少ない人員で、今よりも遥かに効率的にプログラミングが行われる世の中になると思います。
結局その「修正」に手間暇がかかるので、なかなかその状況にはならないと私は見ています。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- abee
-
1000+ posts
Scratch以外のプログラミング言語やってる人交流場
その一方、いままでAIにはできないと考えられていたことが、この数カ月で状況が大きく変わったこともあります。つまり、世の中の変化は滑らかに起こるだけではなく、何かをきっかけに急激に変わることもあるわけです。それに備えることは難しいですが、頭の隅に入れておくと良いかもしれません。
いずれにしても、ChatGPTやStable Diffusionのようなものはすでに存在しており、応用分野も広がっています。今後、AIが生成したものの検証や修正についての研究も進むでしょう。すでにプロンプトエンジニアリングという技術分野が立ち上がりつつあります。
いずれにしても、ChatGPTやStable Diffusionのようなものはすでに存在しており、応用分野も広がっています。今後、AIが生成したものの検証や修正についての研究も進むでしょう。すでにプロンプトエンジニアリングという技術分野が立ち上がりつつあります。
- Doctor_Fe
-
100+ posts
Scratch以外のプログラミング言語やってる人交流場
少し調べたら出てきました。
標準入力で受けた文字列をそのまま標準出力に送るコードを書いておきます。
標準入力で受けた文字列をそのまま標準出力に送るコードを書いておきます。
(println (read-line))
- kst_dx
-
8 posts
Scratch以外のプログラミング言語やってる人交流場
最近Denoでブログ等を作るのにハマっています。
開発体験もとても素晴らしいものです。
私はFreshというWebフレームワークを使っていますが、皆さんはどのようなWebフレームワークを使っておられますか?
また、自分で作った!という人はいますか?
開発体験もとても素晴らしいものです。
私はFreshというWebフレームワークを使っていますが、皆さんはどのようなWebフレームワークを使っておられますか?
また、自分で作った!という人はいますか?
Long-time Deno(JS) lover. / Golang user
- 08233280
-
19 posts
Scratch以外のプログラミング言語やってる人交流場
Github持ってる人
名前は言わんぞ?
プログラミング言語は、主に C# VBやってる。
だいたい、C#で終わらしてる。
名前は言わんぞ?
プログラミング言語は、主に C# VBやってる。
だいたい、C#で終わらしてる。
- kst_dx
-
8 posts
Scratch以外のプログラミング言語やってる人交流場
Last edited by kst_dx (Feb. 19, 2023 04:04:29)
Long-time Deno(JS) lover. / Golang user