class String
Public Instance Methods
adsl_indent()
click to toggle source
# File lib/adsl/util/general.rb, line 22 def adsl_indent indented = " " + gsub("\n", "\n ") (/ $/ =~ indented) ? indented[0..-3] : indented end
dyslexicize()
click to toggle source
for lolz
# File lib/adsl/util/general.rb, line 18 def dyslexicize gsub(/(\w)(\w+)(\w)/) { |match| ([$1] + $2.chars.to_a.shuffle + [$3]).join('') } end
increment_suffix()
click to toggle source
# File lib/adsl/util/general.rb, line 7 def increment_suffix suffix = scan(/_(\d+)$/).last if suffix.nil? return self + "_2" else suffix = suffix.first return self[0, self.length - suffix.length] + (suffix.to_i + 1).to_s end end
resolve_params(*args)
click to toggle source
# File lib/adsl/spass/ruby_extensions.rb, line 12 def resolve_params(*args) args = args.flatten max_arg_index = self.scan(/\$\{(\d+)\}/).map{ |a| a.first.to_i }.max || 0 if args.length < max_arg_index raise ArgumentError, "Invalid argument number: #{args.length} instead of #{max_arg_index}" end result = self args.length.times do |i| result = result.gsub "${#{i + 1}}", args[i].to_s end result end
resolve_spass()
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 5 def resolve_spass self end
split_by_zero_level_comma()
click to toggle source
# File lib/adsl/fol/first_order_logic.rb, line 9 def split_by_zero_level_comma parts = [] sequence_beginning_index = 0 index = 0 paren_level = 0 while index < length if self[index, 1] == '(' paren_level += 1 elsif self[index, 1] == ')' paren_level -= 1 raise ArgumentError, 'Unmatching parenthesis' if paren_level < 0 elsif self[index, 1] == ',' and paren_level == 0 parts << self[sequence_beginning_index, index - sequence_beginning_index].strip sequence_beginning_index = index + 1 end index += 1 end parts << self[sequence_beginning_index, length - sequence_beginning_index].strip parts end
to_spass_string()
click to toggle source
# File lib/adsl/spass/ruby_extensions.rb, line 8 def to_spass_string self end