රූබි හි නූලක් පහළ හෝ ඉහළ අකුරක් බවට පරිවර්තනය කරන්නේ කෙසේද


Answers:


1604

නූල් වල සිද්ධිය වෙනස් කිරීම සඳහා රූබිට ක්‍රම කිහිපයක් තිබේ. සිම්පල් බවට පරිවර්තනය කිරීම සඳහා, භාවිතා කරන්න downcase:

"hello James!".downcase    #=> "hello james!"

ඒ හා සමානව, upcaseසෑම අකුරක්ම capitalizeප්‍රාග්ධනීකරණය කර නූලෙහි පළමු අකුර කැපිටල් කරයි, නමුත් ඉතිරි කොටස අඩු කරයි:

"hello James!".upcase      #=> "HELLO JAMES!"
"hello James!".capitalize  #=> "Hello james!"
"hello James!".titleize    #=> "Hello James!"

ඔබට තැනින් තැන නූලක් වෙනස් කිරීමට අවශ්‍ය නම්, ඔබට එම ඕනෑම ක්‍රමයකට විශ්මය ජනක ලක්ෂ්‍යයක් එක් කළ හැකිය:

string = "hello James!"
string.downcase!
string   #=> "hello james!"

වැඩි විස්තර සඳහා String සඳහා ප්‍රලේඛනය වෙත යොමු වන්න .


2
මම ඒ ගැන සිතුවේ මම එයට පිළිතුරු දුන් පසු පමණි, නමුත් කෙසේ හෝ එයට පිළිතුරු දීමට කාලය ගැනීම පිළිබඳ ගෞරවය මම ඔබට ලබා දෙමි. ස්තූතියි!
හීට් මිසර්

4
පරිස්සමෙන්! මට පෙනෙන්නේ "!" ලොකු අකුරක් නොමැති නම් නැවත පැමිණේ. ඉතින් str = "මේ" .ඩවුන්කේස්!
return

13
බොහෝ විට, "වළලු ක්‍රම" නැවත පැමිණේ nil; ඔබ ඒවා භාවිතා කළ යුත්තේ ඔබට වස්තුවක් වෙනස් කිරීමට අවශ්‍ය නම් මිස වෙනත් විචල්‍යයක අගය ගබඩා කිරීමට අවශ්‍ය නම් නොවේ.
සොෆී ඇල්පට්

9
.titleizeරේල්ස් වලින්. රූබි Stringලියකියවිලි වලින් එය සොයාගත නොහැක
ronald8192

5
titleizeමෙම පිළිතුරෙන් ඉවත් කිරීම හෝ අවම වශයෙන් එය රේල්ස් ක්‍රමයක් බව සඳහන් කිරීම අවශ්‍ය වේ.
සාගර් පාණ්ඩ්‍යා

124

ඉරක් විවෘත කර ධාවනය කිරීමෙන් ඔබට නූලක් මත ඇති සියලුම ක්‍රම සොයාගත හැකිය:

"MyString".methods.sort

සහ විශේෂයෙන් නූල් සඳහා ඇති ක්‍රම ලැයිස්තුවක් සඳහා:

"MyString".own_methods.sort

මා මෙය භාවිතා කරන්නේ වෙනත් ආකාරයකින් නොපවතින වස්තූන් පිළිබඳ නව හා රසවත් දේවල් සොයා ගැනීමට ය.


12
මෙම පිළිතුරේ ඇති එකම ගැටළුව වන්නේ #own_methods නොපවතින බවයි. එය ඉර්බ් දිගුවකින්ද?
මාර්ක් විල්ඩන්

12
හායි - මම හිතුවේ මම එවකට #own_methods සමඟ අලුත් දෙයක් ඉගෙන ගන්නවා කියා, නමුත් එය මටත් නැහැ. කෙසේ වෙතත්, මම සාමාන්යයෙන් යන්න: ( "MyString" .methods - Object.merhods) .තෝරන්න
oceanician

2
Akefakeleft යොමු කරන ලද පැච් එකට බොහෝ සමානකම් ඇති අතර එය මගේ .irbrc ගොනුවේ ඇත. මම වඳුරන් විසින් වස්තුව පැච් කර #own_methds නිර්මාණය කරමි: (obj.methods - obj.class.superclass.instance_methods) .සෝර්ට්
mlambie

1
As ලේසර් විශේෂයෙන් නූල් සඳහා වන ක්‍රම නූල් පන්තියේම අර්ථ දක්වා ඇත. නූලක් මත ඇති ක්‍රම අතර එහි සුපිරි පන්තියේ (එස්) අර්ථ දක්වා ඇත.
අරමුදල් මොනිකාගේ නඩුව

1
String.public_instance_methods(false)නිශ්චිතව අර්ථ දක්වා ඇති සියලුම පොදු නිදර්ශන ක්‍රම සොයා ගැනීමට භාවිතා කරන්න String.
3limin4t0r

40

EndendeR සඳහන් කළ පරිදි, ජාත්‍යන්තරකරණය සැලකිලිමත් වන්නේ නම්, යුනිකෝඩ්_උටිල්ස් මැණික් ප්‍රමාණවත් නොවේ.

$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"

රූබි 2.4 හි සංගීත හැසිරවීම් දැන් යුනිකෝඩ් සංවේදී ය.


19

රූබි downcaseක්‍රමය එහි ලොකු අකුරු වෙනුවට කුඩා අකුරු ආදේශ කරයි.

"string".downcase

https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase


මෙහි රූබි පරිවර්තනය: techotopia.com/index.php/Ruby_String_Conversions
TStamper

2
තාක්ෂණික වශයෙන් මෙය ප්‍රශ්නයට පිළිතුරු සැපයීමට උපකාරී වන අතර, එය සැබවින්ම වඩා දීප්තිමත් විය යුතුය. සමහර විට ප්‍රති result ලය පෙන්වන්න? සමහර විට ප්‍රලේඛනයට සබැඳියක්?
ටින් මෑන්

13

... සහ ලොකු අකුර:

"Awesome String".upcase
=> "AWESOME STRING"

13

ක්රියාකාරී සහයෝගය මැණික් ලබා රේල් පීලි upcase, downcase, swapcase, capitalizeජාත්යන්තරකරණය සහාය ඇතිව, ආදිය ක්රම:

gem install activesupport
irb -ractive_support/core_ext/string
"STRING  ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s
 => "string  áâãàçéêíóôõú"
"string  áâãàçéêíóôõú".mb_chars.upcase.to_s
=> "STRING  ÁÂÃÀÇÉÊÍÓÔÕÚ"

2

ඔබට නූල් ක්‍රමය සොයාගත "strings".methods හැකිය upcase, downcaseවැනි titleize. උදාහරණයක් වශයෙන්,

"hii".downcase
"hii".titleize
"hii".upcase

2

මෙම .swapcase ක්රමය සිම්පල් හා කැපිටල් අකුරු කිරීමට සිම්පල් අකුරු කිරීමට වැලක් දී ඉංග්රීසි කැපිටල් latters පරිවර්තනය වීම්.

'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING

1
ස්තූතියි! මම සොයන දේ මෙයයි. මිශ්‍ර කේස් නූලකින් මෙම ක්‍රමය කරන්නේ කුමක්ද යන්න වඩාත් පැහැදිලිව 'Testing'.swapcase #=> tESTING
මතෙව්


1

සෑම කෙනෙකුටම වැඩ නොකරනු ඇත, නමුත් මෙය මට කාලය ඉතිරි කර දුන්නේය. CSV ආපසු "TRUE හෝ" FALSE "සමඟ මට ගැටළුවක් ඇති බැවින් මම VALUE.to_s.downcase ==" true "එකතු කළෙමි, එමඟින් අගය" සත්‍ය "නම් සහ අගය" අසත්‍යය "නම් අසත්‍ය වේ. ", නමුත් සත්‍ය සහ අසත්‍ය බූලියන් සඳහා තවමත් ක්‍රියා කරනු ඇත.


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.