それとも、原文にあるpass-by-reference(call-by-referenceではなく)というのはreference typeとかポインタとかの値渡しのことを差すのだろうか。 しかし、C#の言語仕様では“A struct may be passed by reference to a function member using a ref or out parameter.”という文があり、call-by-referenceと同じ意味として使われている。Perldocのperlsub [perl.org]
値渡しと参照渡しについて説明できないだけで入門レベルというのは厳しすぎると思う (スコア:2)
参照渡しの無い言語も広く使われている現状で、値渡しと参照渡しについて説明できないだけで入門レベルというのは厳しすぎると思う。
参照渡しの有る言語: C++, C#, VB, Pascal, Perlなど
参照渡しの無い言語: C, Java, JavaScript, Ruby, Python, Scheme, Haskell, Erlangなど
それとも、原文にあるpass-by-reference(call-by-referenceではなく)というのはreference typeとかポインタとかの値渡しのことを差すのだろうか。
しかし、C#の言語仕様では“A struct may be passed by reference to a function member using a ref or out parameter.”という文があり、call-by-referenceと同じ意味として使われている。Perldocのperlsub [perl.org]
Re: (スコア:0)
あと、"a number X"と言うのは「数値X」ではなくて、「X番目」という意味だと思いますよ。英語では、序数も基数も"what number"で聞き、numberは基数を表したり、序数を表したり。
Re: (スコア:2)
例えば、Javaにおける=演算子は左辺に対して参照渡しのような動作をしますが、これを差してJavaに参照渡しがあるとは言いません。
「継続に変数そのもの(のポインタ)を入れる」という表現も不正確です。
Schemeにおいて継続は「変数そのもの」「変数そのものへのポインタ」「変数への参照」「ロケーション」のいずれも取れません。
継続はR5RSの意味論においては値(expressed value)の列とストアを受けとって最終結果を返すものと定義されています。
set!の意味を見ても、継続の内部で識別子を使って環境からロケーションを得ています。継続が外部からロケーション等を受け取ったりはしません。
> あと、"a number X"と言うのは「数値X」ではなくて、「X番目」という意味だと思いますよ。
なるほど、確かにNo. 1, No. 2とか言いますね。それのNo. Xという意味ですか。
Re:値渡しと参照渡しについて説明できないだけで入門レベルというのは厳しすぎると思う (スコア:0)
> なるほど、確かにNo. 1, No. 2とか言いますね。それのNo. Xという意味ですか。
"the Fibonacci value for a number X"という言い方全体がおかしいわけで、そこだけ見ても仕方ないと思いますよ。
Fibonacci valueも変ですし、X番目(No.1とか)という意味なら不定冠詞はつきません。
Re:値渡しと参照渡しについて説明できないだけで入門レベルというのは厳しすぎると思う (スコア:2)