[#50611] [質問] メタプログラミングRuby(第1版)の include時の無名クラス という記載について — モコあき <mokoriso@...>
モコあきと申します
5 messages
2017/12/03
[#50625] Ruby の用語:クラス,モジュール,インスタンス — "5.5" <5.5@...>
5.5 です。
5 messages
2017/12/26
[ruby-list:50622] [質問] 文字列補完のときに汚染が引き継がれないのは仕様か
From:
Yuki Mukasa <info@...>
Date:
2017-12-24 13:27:51 UTC
List:
ruby-list #50622
向佐と申します。 汚染された文字列と汚染されていない文字列を連結させた場合, 連結後の文字列に対しても汚染が引き継がれますが、 文字列補完によって生成した文字は、汚染が引き継がれないようです。 どのような文字列生成の方法でも、汚染されている文字列を使用しているのであれば,生成された文字列は汚染されているべきだと考えています。 この挙動は予期されているものなのでしょうか?または、文字列補完による生成のときに、汚染を引き継がないようにした意図などがあるのでしょうか? $ ruby -v ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu] という環境で、 tainted_str = "bbb" tainted_str.taint safe_str = "aaa" p "string concatenation", (safe_str + tainted_str).tainted? p "string interpolation", "#safe_str#tainted_str".tainted? というコードを実行させたときに, "string concatenation" true "string interpolation" false を得ました。 お分かりになる方がいらっしゃいましたら、ご教示いただければ幸いです。 よろしくお願いいたします。