Created
November 23, 2018 22:24
-
-
Save VladHurma/116d40a220b7dad9bf77d79b124144f5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Sort_by_words_length | |
def initialize | |
@words_array = [] | |
end | |
def self.run | |
new.run | |
end | |
def run | |
ask_user_for_string | |
sort_by_size | |
show_user_sorted_words | |
end | |
private | |
def ask_user_for_string | |
puts "Put here string to sort it by length of word!" | |
@string = gets.strip | |
end | |
def sort_by_size | |
@words_array = @string.split(' ').sort_by {|word| word.length} | |
end | |
def show_user_sorted_words | |
print "#{@words_array}\n" | |
end | |
end | |
Sort_by_words_length.run |
aya-soft
commented
Nov 28, 2018
•
- отступы 2 пробела везде
- что делает split вызванный без аргументов?
- как это короче записать? .sort_by {|word| word.length}
- опять print "#{@words_array}\n", как сделать без "\n"
- лучше создавать attr_reader даже для внутренних целей и использовать не @words_array, а просто words_array
1. отступы 2 пробела везде 2. что делает split вызванный без аргументов? 3. как это короче записать? .sort_by {|word| word.length} 4. опять print "#{@words_array}\n", как сделать без "\n" 5. лучше создавать attr_reader даже для внутренних целей и использовать не @words_array, а просто words_array
- Превращает всю строку в элемент массива
- sort_by(&:length), &: - передает каждый элемент массива и применяет к нему метод length(не даром ведь создание метода возвращает символ, к которому по метапроге можно обратиться)
- Торможу, не понимаю как сделать с writer
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment