「print」は予約語?(質問掲示板

投稿: 128 mini fragile 投稿:2013/01/12 18:48:12(最新:2013/01/13 13:01:13)
「print」は何か意味を持った文字列でしょうか?
printの関数がうまく動作しなかったので何かとぶつかってるのではないかと思い、次の様に試してみました。
def aaa(q)
speak("q = ", q)
return q-1
end
speak(aaa(3)+aaa(4))
speak(aaa(3+aaa(4)))

def print(a)
speak("a = ", a)
return a-1
end
speak(print(3)+print(4))
speak(print(3+print(4)))

上の二つは名称を変えた中身が同じ関数ですが、
printの方の動作は文字列の結合のようになり、計算されません。
文字として扱われてるかもしれないと思い、次の様にしましたが効果はありませんでした。
def print(a)
speak("a = ", a)
return toNumber(a-1)
end

def print(a)
speak("a = ", a)
return toNumber(a-1)
end

一覧に載って無かったので大丈夫だとは思うのですが
別の言語だとspeak関数として使用されることが多いため
確認の意もこめて質問させて頂きました。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Zararu128x128 mini dycoon(投稿日:2013/01/13 13:01, 履歴)
Rmakeのご利用ありがとうございます。

すみません。
過去の質問に答えるときに予約語の一覧に
入れるのを忘れておりました。
Rmakeの内部処理向けに使われている関数なので
使ったり、同名の関数を宣言したりは
しないほうがいいかと思います。

よろしくお願いします。
128 mini fragile(投稿日:2013/01/13 12:20, 履歴)
ちょっと気になることが。

今まで、printで計算された中身が、次のspeakの時に
先頭に入り込む形で表示されていました。
なのでprintを宣言せずに使うとどうなるかを試してみました。

#スクリプト全文
print(4, 5)

speak("stop")

#画面&バックログに表示された文字
45stop


エラーの類は出てきませんでした。

また、
print(4, 5)

setText(createText(10, 10, 780, 580), "stop")

speak("STOP")

のようにテキスト表示を挟んだ所、
#テキスト表示(text)
stop
#画面表示(speak)
45STOP

となりました。
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2013/01/12 18:57, 履歴)
printって確かC言語で文字表示できる関数だったような・・・

関係ないのかな?
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2013/01/13 09:15, 履歴)
C言語での予約語
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
128 mini fragile(投稿日:2013/01/13 12:09, 履歴)
次の関数の○○○に当てはめて、動作するかを一通り試してみました。
def ○○○(a, b)
speak("○○○()\n",a, " + ", b, " = ", a+b)
end


記号結果
計算される
計算されない
×エラーが出る


名前結果名前結果名前結果名前結果
aaaprintautobreak
case×charconstcontinue
defaultdo×doubleelse×
enumexternfloatfor
gotoif×intlong
registerreturn×shortsigned
sizeofstaticstructswitch
typedefunionunsignedvoid
volatilewhile×


どうやらprintだけのようです。
128 mini fragile(投稿日:2013/01/13 11:24, 履歴)
あ、間違えて同じ物を貼ってました。
def print(a)
speak("a = ", a)
return toNumber(a-1)
end

def print(a)
speak("a = ", a)
return toNumber(a)-1 #<--( )の位置を変更
end


000 3  mini meika(投稿日:2013/01/12 20:17, 履歴)
若干関係ないかもですが
そういえば日本語ノベルえでぃたのシーンでも「for」が青くなってましたね・・・
Rmakeの言語じゃ関係ないはずなんですが・・・・
128 mini fragile(投稿日:2013/01/12 18:50, 履歴)
ありゃ、思いっきりprint青くなってますね(^^;