Potrzebna pomoc :)

Na wstępie cześć wszystkim jako że jestem tu po raz pierwszy.
Dodam iż nie znam się na programowaniu modyfikuje jednak pewien skrypt by dopasować
go do swoich potrzeb, oczywiście za zgodą autora skryptu.

Zrobiłem już prawie wszystko jednak w jednym momencie mam problem z utworzeniem warunku
Mam nadzieję iż ktoś tu będzie na tyle miły i mi pomoże :slight_smile:

A więc:

mam coś takiego

# Zmień nazwę pliku
def file_rename(path)
	case path

		when $file_pos_path         then $file_name.value = "zdjęcie stanowiska POS w PSD" and file_ext = $file_pos_ext and old_file = $file_pos_path
		when $file_kableprzed_path  then $file_name.value = "stan okablowania POS w PSD" and file_ext = $file_kableprzed_ext and old_file = $file_kableprzed_path
		when $file_kablepo_path		then $file_name.value = "zdjęcie stanowiska POS w PSD" and file_ext = $file_kablepo_ext and old_file = $file_kablepo_path
		when $file_posprzed_path    then $file_name.value = "stan POS w PSD" and file_ext = $file_posprzed_ext and old_file = $file_posprzed_path

	end
	

			
	if path != nil or "#{path}".length != 0 then
		File.rename("#{old_file}", "Ruch, #{$file_name} #{$psd}, #{$miejscowosc}#{file_ext}") 

chciałbym aby skrypt tylko dla pierwszego tworzył takową nazwę jednak dla ostatnich trzech tworzył coś takiego:

		File.rename("#{old_file}", "Ruch, #{$file_name} #{$psd} przed migracją, #{$miejscowosc}#{file_ext}") 

Czy ktoś tutaj jest mi w stanie napisać to tak aby działało? :slight_smile:

hmm no szkoda ze nie ma ludzi chetnych do pomocy :frowning:

Cieżko domyślić się co to ma być, więc dam łopatologiczny przykład. Musisz jakoś rozpoznać numer iteracji, np.:

n = 0 files.each do |file| n += 1 ... end
i wtedy możesz w zależności od n robić różne rzeczy, np:

if n == 1 # pierwsza ... elsif n > (files.size - 3) # trzy ostatnie ... end

Wiesz, nie bardzo wiadomo skąd się biorą i co mogą zawierać te zmienne globalne, post niespecjalnie zawiera wyjaśnienie co-autor-ma-na-myśli, nie miej do forumowiczów pretensji że w sobotni wieczór wolą się zająć czymś innym niż odgadywaniem intencji i pragnień nowego kolegi na forum :wink:

nie mam pretensji :slight_smile: poprostu siedzialem nad tym wczoraj przez ladnych kilka godzin i o ile zmodyfikowalem to w 90% tak jak chcialem ostatnie 10% za choinke nie chcialo mi dzialac, albo działo w polowie albo wywalało błędy i sam już raczej do tego nie dojde :wink:
a… wczoraj faktycznie była sobota :stuck_out_tongue: sory chłopaki :stuck_out_tongue: :wink:

hehe, wracając do tematu - tak jak napisał nagl, musisz dodać jakiś prosty licznik iteracji, dopiero wtedy będziesz mógł coś konkretnego zrobić - bo o ile dobrze mi wiadomo nie ma czegoś takiego jak if zmienna.last(3) ? :slight_smile: