1
메서드 이름을 문자열로 제공 할 때 스퀵 메서드를 호출하려면 어떻게해야합니까? 가능합니까?메서드 이름을 문자열로 제공 할 때 Squeak 메서드를 호출하려면 어떻게해야합니까?
메서드 이름을 문자열로 제공 할 때 스퀵 메서드를 호출하려면 어떻게해야합니까? 가능합니까?메서드 이름을 문자열로 제공 할 때 Squeak 메서드를 호출하려면 어떻게해야합니까?
시도 : aSymbol이 방법의 선택이다
perform: aSymbol
perform: aSymbol with: anObject
perform: aSymbol withArguments: anArrayOfArguments
. 대신 1 + 2
의 예를 들어 당신이 쓸 수 :
1 perform: '+' asSymbol with: 2
5 perform: 'raisedTo:modulo:' asSymbol withArguments: #(2 3)
내 문자열이 하나의 이름을 포함하지 :
당신의 방법 선택이
String
로 저장되어있는 경우, 당신은Symbol
첫째로 변환해야 문자 그래서 그것은 상징으로 변환하는 데 도움이되지 않습니다. 어쨌든 – Ohad@ Shiran 결국 1 개의 예제를 추가했습니다. 그것이 의미가 있는지보십시오. 그렇지 않으면 나는 당신의 코멘트에 대해 이해하지 못합니다. "한 문자가 아닌 이름을 포함합니다"_ – Uko
@Shiran 스몰 토크에서 '심볼'은 고유 한 '문자열'이며, '문자'와 혼동하지 마십시오. * 고유 문자열 *은 "문자열"asSymbol == '문자열'asSymbol'을 의미합니다. – MartinW