Ruby on Railsのは、Rubyは、バージョン1.8.7以降、CなぜRailsはString#starts_withメソッドを実装していますか?エイリアスではなくstart_with?
static VALUE
rb_str_start_with(int argc, VALUE *argv, VALUE str)
{
int i;
for (i=0; i<argc; i++) {
VALUE tmp = rb_check_string_type(argv[i]);
if (NIL_P(tmp)) continue;
rb_enc_check(str, tmp);
if (RSTRING_LEN(str) < RSTRING_LEN(tmp)) continue;
if (memcmp(RSTRING_PTR(str), RSTRING_PTR(tmp), RSTRING_LEN(tmp)) == 0)
return Qtrue;
}
return Qfalse;
}
理由で実装されている方法String#start_with?
を有し、一方
# File lib/active_support/core_ext/string/starts_ends_with.rb, line 22
def starts_with?(prefix)
prefix = prefix.to_s
self[0, prefix.length] == prefix
end
とRubyで実装されている方法String#starts_with?
を有しますstarts_with?
からにリンクされている別名はありませんか?
Ruby 1.8.6との互換性を維持したいのですか、またはがstarts_with?
と異なる動作をしたり、コードを更新する必要がないと心配していますか?
私はhttp://as.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/StartsEndsWith.htmlを見ていました。そのドキュメントは古いですか? –
はい、http://as.rubyonrails.orgにアクセスしてください。2008年のものです。現在使用しているサイトはhttp://api.rubyonrails.org –
です。ドキュメントは失敗します。古いサイトが古くなったと言うフレーム内のすべてのリクエストをラップするといいですか? – DGM