티스토리 뷰

애자일 이야기 블로그중, 프로그래밍 언어 배우기의 달인 이란 글을 읽고, 적극적 읽기를 실천해 보기로 했습니다.

튜토리얼을 읽는 것은 다른 프로그래머랑 비슷해 보입니다. 차이가 있다면 읽을 때 다음 작성할 프로그램을 염두에 두고 읽습니다. 그래서 읽다가 이쯤이면 그 프로그램을 작성할 수 있겠다 싶으면 그 자리에서 멈추고 코딩을 시작합니다. 완성을 확인하고는 다시 아까의 자리로 돌아와서 읽기를 계속합니다. 이 때에는 다음 목표 프로그램을 염두에 두면서 말이죠.프로그래밍 언어 배우기의 달인 본문

그래서 요즘 읽고있는 언어 책인 "거침없이 배우는 펄"책 2장에 한 연습문제를 풀어보기로 했습니다. 적극적 읽기와 조금 다르긴 하지만...

거침없이 배우는 펄 2장 2번 연습문제.

반지름을 입력 받아, 원주를 구하는 문제.

펄로 작성된 코드

정답지를 보고 코드 업데이트!

#!/usr/bin/perl -w
$pi = 3.141592654;
print "What is the radius? ";
chomp($radius = <STDIN>);
if ($radius lt 0) {
  $radius = 0;
} 
$circumference = 2 * $pi * $radius;
print "The circumference of a circle of radius $radius is $circumference";

커피스크립트도 가물가물해서 커피스크립트로도 만들어 봤습니다.

커피스크립트로 작성된 node.js 코드

stdin = process.stdin          
stdout = process.stdout        

PI = 3.141592654               

stdin.setEncoding 'utf8'
stdin.resume()                 
stdout.write "What is the radius?"
stdin.once 'data', (input) ->  
  radius = parseInt input, 10  
  radius = 0 if radius < 0     
  
  circumference = 2 * PI * radius 
  stdout.write "The circumference of a circle of radius #{radius} is #{circumference}\n"
  process.exit()

node.js와 같이 비동기 환경에선 단순히 값을 하나 받아 오는 코드도 쉽지 않았습니다.

결론

책을 단순히 읽기만 할 때는 다 이해한 것 같았는데, 막상 코드로 옮기려 하니 하나도 제대로 못하더라는..

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함