ab.com コミュニティ
https://www.activebasic.com/forum/

Ver5.0の仕様について
https://www.activebasic.com/forum/viewtopic.php?t=1156
ページ 11

作成者:  たかせ [ 2006年6月18日(日) 10:45 ]
記事の件名:  Ver5.0の仕様について

<Functionの戻り値の書き方>にて

>関数内でGoSubを使うなどという荒業はあまりないですよね。Gotoは絶対に必要ですけど…。

>ということは、関数内に限り、Returnステートメントを違う意味で持たせる、逆の視点から言うと、グローバル領域に限り、GoSubステートメントとReturnステートメントを組み合わせるという仕組みにはできそうですね。

>Ver5.0ではReturnを廃止し、新しい意味を持たせたいとも思っていたので、このまとめ方で良さそうかも!?候補として検討してみます。

と山本さんはおしゃっていました。

Ver5.0ではGoSubステートメントとReturnステートメントは廃止するのでしょうか?
僕としては残してほしいのですが?

作成者:  konisi [ 2006年6月18日(日) 14:48 ]
記事の件名: 

おそらく、ローカルに向けたGosubや、そこから抜けるためのreturnは無くなるでしょう。

しかし、グローバルに向けたGosubや、そこから戻るためのreturnが無くなるとは限らないと考えています。

または、Label表記をSub表記にして、一切ローカル変数の使用をしなければ同じように動かすことも可能だと思います。

作成者:  イグトランス [ 2006年6月18日(日) 22:47 ]
記事の件名: 

私はむしろ、Gosub ~ Returnが関数(Function, Sub)を入ったり出たりするような使い方こそなくなるべきだと思いますけどね。

それはともかくこれが件のトピックですね。一応書いておきます。
Functionの戻り値の書き方

なんにせよ一番大事な事は現在との互換性の確保であるはずです。
大きな変化はAB2からAB3へのときだけでもう十分でしょう。

個人的には無理してGosubの用い方に制限を加えるくらいなら,むしろ現状維持でも構わないと思っています。
無理して廃止するほど価値が無いとは思っていません。全くと言ってよいほど使っていないくせに言いますが。
それが無理ならせめて猶予期間として暫くのバージョンで将来使えなくなると言う警告を出したらどうかと思います。

私の希望はExitと現方式の両方が使用可能であることです。
いつかオブジェクト(クラス・構造体等)を返せるようになったとき,現方式の方が効率のよい実装が容易と思われるためです。
#C++では名前付き戻り値の最適化(NRVO)に苦労しているようですから。
でもその際どうやってコンストラクタを呼ぶかという問題がありますけどね。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/