「print」は予約語?(質問掲示板)
投稿: fragile
投稿:2013/01/12 18:48:12(最新:2013/01/13 13:01:13)
「print」は何か意味を持った文字列でしょうか?
printの関数がうまく動作しなかったので何かとぶつかってるのではないかと思い、次の様に試してみました。
上の二つは名称を変えた中身が同じ関数ですが、
printの方の動作は文字列の結合のようになり、計算されません。
文字として扱われてるかもしれないと思い、次の様にしましたが効果はありませんでした。
一覧に載って無かったので大丈夫だとは思うのですが
別の言語だとspeak関数として使用されることが多いため
確認の意もこめて質問させて頂きました。
ツイート
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関数として使用されることが多いため
確認の意もこめて質問させて頂きました。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
ちょっと気になることが。
今まで、printで計算された中身が、次のspeakの時に
先頭に入り込む形で表示されていました。
なのでprintを宣言せずに使うとどうなるかを試してみました。
エラーの類は出てきませんでした。
また、
のようにテキスト表示を挟んだ所、
となりました。
今まで、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
となりました。
池ちゃん(翡翠ヶ池)(投稿日:2013/01/12 18:57,
履歴)
printって確かC言語で文字表示できる関数だったような・・・
関係ないのかな?
関係ないのかな?
池ちゃん(翡翠ヶ池)(投稿日: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
次の関数の○○○に当てはめて、動作するかを一通り試してみました。
どうやらprintだけのようです。
def ○○○(a, b) speak("○○○()\n",a, " + ", b, " = ", a+b) end
記号 | 結果 |
---|---|
○ | 計算される |
△ | 計算されない |
× | エラーが出る |
名前 | 結果 | 名前 | 結果 | 名前 | 結果 | 名前 | 結果 | |||
---|---|---|---|---|---|---|---|---|---|---|
aaa | ○ | △ | 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 | × |
どうやらprintだけのようです。
すみません。
過去の質問に答えるときに予約語の一覧に
入れるのを忘れておりました。
Rmakeの内部処理向けに使われている関数なので
使ったり、同名の関数を宣言したりは
しないほうがいいかと思います。
よろしくお願いします。