ios로 LINE 풍미에 IRB 할 수 있도록 한다
코드는 다음과 같은 느낌으로. 에러 핸들링은 과연 Objective-C 측에 쓰지 않으면 안 되겠다고 생각했지만, 예외 캐치하는 것만으로 잘 갔다. Ruby의 표현력은 역시 높다.
# # 10_irb
#
# ## Description
# Interactive Ruby Shell is a REPL.
def chat(input)
begin
eval(input)
rescue Exception => e
e.message
end
end
일단 잘 작동했지만 왠지 로컬 변수를 정의 할 수 없기 때문에 다른 irb의 구현을 바라 보았습니다.
web-irb
>> a = [1, 2, 3]
=>[1, 2, 3]
=>NoMethodError: undefined method 'a' for main
같은 현상이 일어나고 있다!
>> @a = [1, 2, 3]
>> @a
=>[1, 2, 3]
멤버 변수로 정의하면 제대로 유지된다.
mirb
mruby 표준 첨부 녀석
$ git clone https://github.com/mruby/mruby.git
$ rake
$ ./bin/mirb
mirb - Embeddable Interactive Ruby Shell
> a = 1
a = 1
=> 1
> a
a
=> 1
mirb는 제대로 로컬 변수를 사용할 수 있는 것 같다. 뭔가 실제로 차이가 있을지도. (그 중 소스를 읽자)
요약
어쨌든 web-irb는 동일했기 때문에 조금 안심했다 (뭐가). 멤버 변수를 사용한다는 도망길도 발견되었으므로 우선 구현 우선으로 진행한다.
Reference
이 문제에 관하여(ios로 LINE 풍미에 IRB 할 수 있도록 한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ongaeshi/items/23c21d1baebe013dffbd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)