[Swift-user] (no subject)
Zhao Zhang
zhaozhang at uchicago.edu
Wed Jun 3 14:51:54 CDT 2009
Hi, Mike
I am helping Erin on this, it seems we figure the problem out, and we
are testing the script further.
zhao
Michael Wilde wrote:
> Also, I should clarify: the message:
>
> "Compile error in procedure invocation at line 11: Wrong type for
> parameter number 0, expected file, got file[]"
>
> is really referring to the expression in the assignment statement
> *within* the foreach.
>
> Its complaining that you passed an object of data type "file[]" -
> i.e., "array of file" to a procedure whose corresponding argument was
> declared as expecting an object of data type "file" - i.e., a single
> scalar object of type "file".
>
> The ability to pass an entire file[] array is a cool feature of Swift,
> but not what you wanted to do in this case.
>
> - Mike
>
>
> On 6/3/09 2:40 PM, Michael Wilde wrote:
>> (Erin, please use good subject lines when sending to the list, as it
>> makes it easier to manage and find discussion threads)
>>
>> The line:
>>
>> foreach ix in frame {
>> output[ix] = rotate(frame, 180); output[ix] = rotate(frame, 180);
>>
>> should be:
>>
>> foreach ix,i in frame {
>> output[i] = rotate(ix, 180);
>>
>> or the inner statement can be:
>> output[i] = rotate(frame[i], 180);
>>
>> Not sure, but you might be able to use simple_mapper for input
>> mapping as well. I'll leave you to experiment with that aspect for now.
>>
>> - Mike
>>
>>
>> On 6/3/09 2:11 PM, Hodgess, Erin wrote:
>>> Hi Swift Users:
>>>
>>> I'm trying to collect all of the files with the extension ".jpg",
>>> rotate them 180 degrees, and produce output of "hoot.xxx.jpeg".
>>>
>>> here is my swift file and my error message. I've tried lots of
>>> things with files and foreach, but I can't make any sense out of this.
>>>
>>> Any suggestions, please?
>>>
>>>
>>>
>>> [erin at tp-login2 swift1]$ cat rot2.swift
>>> type file;
>>>
>>> app (file o) rotate(file s, int angle) {
>>> convert "-rotate" angle @filename(s) @filename(o);
>>> }
>>>
>>> file frame[] <filesys_mapper; pattern="*.jpg">;
>>> file output[] <simple_mapper;suffix=".jpeg",prefix="hoot.">;
>>>
>>> foreach ix in frame {
>>> output[ix] = rotate(frame, 180);
>>> } [erin at tp-login2 swift1]$
>>> [erin at tp-login2 swift1]$ swift -tc.file tc.data rot2.swift
>>> Could not start execution.
>>> Compile error in foreach statement at line 10: Compile error
>>> in procedure invocation at line 11: Wrong type for parameter number
>>> 0, expected file, got file[]
>>>
>>>
>>> Thanks,
>>> Erin
>>>
>>> Erin M. Hodgess, PhD
>>> Associate Professor
>>> Department of Computer and Mathematical Sciences
>>> University of Houston - Downtown
>>> mailto: hodgesse at uhd.edu
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> Swift-user mailing list
>>> Swift-user at ci.uchicago.edu
>>> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
>> _______________________________________________
>> Swift-user mailing list
>> Swift-user at ci.uchicago.edu
>> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
> _______________________________________________
> Swift-user mailing list
> Swift-user at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-user
>
More information about the Swift-user
mailing list