logo
ホーム •  フォーラム •  日本語wikiトップ •  アカウント情報 •  サイト内検索 •  新規登録
 ログイン
ユーザー名:

パスワード:


パスワード紛失

新規登録
 メインメニュー
 米国サイト
 オンライン状況
29 人のユーザが現在オンラインです。 (3 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 29

もっと...

Re: Nasalを知ろう、使おう!

このトピックの投稿一覧へ

なし Re: Nasalを知ろう、使おう!

msg# 1.8.1
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-11-9 14:41
Tat  長老   投稿数: 375
とりあえず cmdarg() の前の '(' は不要ですね。これがあるからエラーが発生しているのでしょう。

ちょっと読んでみましたが、この軸はhat ですか、それともスライダーとかですかね? このスクリプトは軸を動かしたら最大 max-min の値だけ周波数が増減しますね。この例だと 0.1 動かしただけでも周波数が 1.8 増減します。これでは、あっという間に上限に達してしまう気がしますね。

あと、ちょっとしたテクですが、
  var fraction = math.mod(frequency , step);
  var frequency -= fraction;

の部分は step で丸めている(0.025 単位で増減させたい)んですよね?
だとすると、以下に置き換える事もできます。
  frequency = int(frequency/step)*step;

ついでに、2 つの if 文は以下のようにelsif で繋ぎ、>= を > にした方が若干処理速度が向上します。というのも、min == max でない限り、どちらか一方のif 文しか実行され得ないからです。また、frequency == min or max なら処理する必要はありません。
  if (frequency < min) { 
    frequency = min;
  } elsif (frequency > max) { 
    frequency = max;
  } 

これを1行で書くと(必要はありませんが)こうなります。
  frequency = (frequency > max)? max : ((frequency < min)? min : frequency);

ちなみに、"if (条件) A else B" は "(条件) ? A : B" と等価です。2つの条件をまとめて書いたので、B の部分に更に条件文が含まれています。若干処理速度が向上しますが、if - elsif 文よりは若干読みにくくなります。

ときに、\[code\] と \[/code\] で囲んだプログラムは、firefox では正しく表示されるのですが、Safari だと改行が無視されてしまいます。とほほ...
投票数:2 平均点:0.00

投稿ツリー

  条件検索へ


 検索

高度な検索
 新しい登録ユーザ
hanshin 2022-9-30
hanjeiy 2022-9-30
bFurgAf 2022-9-30
ylimofup 2022-9-30
usaromy 2022-9-29
Mathew23 2022-9-29
ekedamyqa 2022-9-29
tramchuyen 2022-9-29
meboma9453 2022-9-29
niluamit 2022-9-29
 最近の画像(画像付)
自作11機目 F/A-18... (2022-5-27)
自作11機目 F/A-18...
飛んでみる八尾空港 (2022-4-10)
飛んでみる八尾空港
作ってみる八尾空港 (2022-4-2)
作ってみる八尾空港
F117 nighthawk (2021-5-19)
F117 nighthawk
HiTouchさん宛の画像... (2020-11-8)
HiTouchさん宛の画像...
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Theme designed by OCEAN-NET